diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-04-29 11:16:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-29 11:16:06 +0300 |
commit | cb9571e37fc1c0ee22c92ee726147f64ee80f07a (patch) | |
tree | 276c16e211146d0934c9aa330556545294b1a1ad /modules/sd_samplers_common.py | |
parent | 09069918e8e6e4e25a804d34c803abc3b76ae84a (diff) | |
parent | d40e44ade479f7bba30d5317381cbc58c861775b (diff) |
Merge pull request #9734 from deciare/cpu-randn
Option to make images generated from a given manual seed consistent across CUDA and MPS devices
Diffstat (limited to 'modules/sd_samplers_common.py')
-rw-r--r-- | modules/sd_samplers_common.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/sd_samplers_common.py b/modules/sd_samplers_common.py index a1aac7cf..e6a372d5 100644 --- a/modules/sd_samplers_common.py +++ b/modules/sd_samplers_common.py @@ -60,3 +60,12 @@ def store_latent(decoded): class InterruptedException(BaseException):
pass
+
+if opts.use_cpu_randn:
+ import torchsde._brownian.brownian_interval
+
+ def torchsde_randn(size, dtype, device, seed):
+ generator = torch.Generator(devices.cpu).manual_seed(int(seed))
+ return torch.randn(size, dtype=dtype, device=devices.cpu, generator=generator).to(device)
+
+ torchsde._brownian.brownian_interval._randn = torchsde_randn
|