diff --git a/extensions-builtin/forge_preprocessor_marigold/scripts/preprocessor_marigold.py b/extensions-builtin/forge_preprocessor_marigold/scripts/preprocessor_marigold.py index 6add9b5c..62c38f5a 100644 --- a/extensions-builtin/forge_preprocessor_marigold/scripts/preprocessor_marigold.py +++ b/extensions-builtin/forge_preprocessor_marigold/scripts/preprocessor_marigold.py @@ -62,9 +62,8 @@ class PreprocessorMarigold(Preprocessor): ) with torch.no_grad(): - img = numpy_to_pytorch(input_image).movedim(-1, 1).to( - device=self.diffusers_patcher.patcher.current_device, - dtype=self.diffusers_patcher.dtype) + img = numpy_to_pytorch(input_image).movedim(-1, 1) + img = self.diffusers_patcher.move_tensor_to_current_device(img) img = img * 2.0 - 1.0 depth = self.diffusers_patcher.pipeline(img, num_inference_steps=20, show_pbar=False) diff --git a/modules_forge/diffusers_patcher.py b/modules_forge/diffusers_patcher.py index 1cd2ff49..8aa25386 100644 --- a/modules_forge/diffusers_patcher.py +++ b/modules_forge/diffusers_patcher.py @@ -46,3 +46,6 @@ class DiffusersModelPatcher: models=[self.patcher], memory_required=inference_memory ) + + def move_tensor_to_current_device(self, x): + return x.to(device=self.patcher.current_device, dtype=self.dtype)