(cls, *samplers: "PointCloudSampler")
| 170 | |
| 171 | @classmethod |
| 172 | def combine(cls, *samplers: "PointCloudSampler") -> "PointCloudSampler": |
| 173 | assert all(x.device == samplers[0].device for x in samplers[1:]) |
| 174 | assert all(x.aux_channels == samplers[0].aux_channels for x in samplers[1:]) |
| 175 | assert all(x.clip_denoised == samplers[0].clip_denoised for x in samplers[1:]) |
| 176 | return cls( |
| 177 | device=samplers[0].device, |
| 178 | models=[x for y in samplers for x in y.models], |
| 179 | diffusions=[x for y in samplers for x in y.diffusions], |
| 180 | num_points=[x for y in samplers for x in y.num_points], |
| 181 | aux_channels=samplers[0].aux_channels, |
| 182 | model_kwargs_key_filter=[x for y in samplers for x in y.model_kwargs_key_filter], |
| 183 | guidance_scale=[x for y in samplers for x in y.guidance_scale], |
| 184 | clip_denoised=samplers[0].clip_denoised, |
| 185 | use_karras=[x for y in samplers for x in y.use_karras], |
| 186 | karras_steps=[x for y in samplers for x in y.karras_steps], |
| 187 | sigma_min=[x for y in samplers for x in y.sigma_min], |
| 188 | sigma_max=[x for y in samplers for x in y.sigma_max], |
| 189 | s_churn=[x for y in samplers for x in y.s_churn], |
| 190 | ) |
| 191 | |
| 192 | def _uncond_guide_model( |
| 193 | self, model: Callable[..., torch.Tensor], scale: float |
nothing calls this directly
no outgoing calls
no test coverage detected