aboutsummaryrefslogtreecommitdiffstats
path: root/modules/devices.py
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2023-12-30 22:20:30 +0000
committerAarni Koskela <akx@iki.fi>2023-12-31 11:22:43 +0000
commit5768afc776a66bb94e77a9c1daebeea58fa731d5 (patch)
tree06c015a95076b2de579a72750aa7862a9615ed09 /modules/devices.py
parenta84e842189f5599fd354147f72d1a9b9ed0716c8 (diff)
downloadstable-diffusion-webui-gfx803-5768afc776a66bb94e77a9c1daebeea58fa731d5.tar.gz
stable-diffusion-webui-gfx803-5768afc776a66bb94e77a9c1daebeea58fa731d5.tar.bz2
stable-diffusion-webui-gfx803-5768afc776a66bb94e77a9c1daebeea58fa731d5.zip
Add utility to inspect a model's parameters (to get dtype/device)
Diffstat (limited to 'modules/devices.py')
-rw-r--r--modules/devices.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/modules/devices.py b/modules/devices.py
index c956207f..bd6bd579 100644
--- a/modules/devices.py
+++ b/modules/devices.py
@@ -4,6 +4,7 @@ from functools import lru_cache
import torch
from modules import errors, shared
+from modules.torch_utils import get_param
if sys.platform == "darwin":
from modules import mac_specific
@@ -131,7 +132,7 @@ patch_module_list = [
def manual_cast_forward(self, *args, **kwargs):
- org_dtype = next(self.parameters()).dtype
+ org_dtype = get_param(self).dtype
self.to(dtype)
args = [arg.to(dtype) if isinstance(arg, torch.Tensor) else arg for arg in args]
kwargs = {k: v.to(dtype) if isinstance(v, torch.Tensor) else v for k, v in kwargs.items()}