diff --git a/modules_forge/forge_util.py b/modules_forge/forge_util.py index 9caa84a9..709582dd 100644 --- a/modules_forge/forge_util.py +++ b/modules_forge/forge_util.py @@ -1,4 +1,6 @@ import torch +import numpy as np + from ldm_patched.modules.conds import CONDRegular, CONDCrossAttn @@ -25,3 +27,19 @@ def cond_from_a1111_to_patched_ldm(cond): ) return [result, ] + + +@torch.no_grad() +@torch.inference_mode() +def pytorch_to_numpy(x): + return [np.clip(255. * y.cpu().numpy(), 0, 255).astype(np.uint8) for y in x] + + +@torch.no_grad() +@torch.inference_mode() +def numpy_to_pytorch(x): + y = x.astype(np.float32) / 255.0 + y = y[None] + y = np.ascontiguousarray(y.copy()) + y = torch.from_numpy(y).float() + return y