diff --git a/ldm/dream/generator/base.py b/ldm/dream/generator/base.py index af98dea6c2..5e9441dc52 100644 --- a/ldm/dream/generator/base.py +++ b/ldm/dream/generator/base.py @@ -51,6 +51,7 @@ class Generator(): results = [] seed = seed if seed else self.new_seed() + first_seed = seed seed, initial_noise = self.generate_initial_noise(seed, width, height) with scope(self.model.device.type), self.model.ema_scope(): for n in trange(iterations, desc='Generating'): @@ -71,7 +72,7 @@ class Generator(): image = make_image(x_T) results.append([image, seed]) if image_callback is not None: - image_callback(image, seed) + image_callback(image, seed, first_seed=first_seed) seed = self.new_seed() return results diff --git a/ldm/generate.py b/ldm/generate.py index db22e16fd3..30c5048084 100644 --- a/ldm/generate.py +++ b/ldm/generate.py @@ -765,10 +765,10 @@ class Generate: m, u = model.load_state_dict(sd, strict=False) if self.precision == 'float16': - print('Using faster float16 precision') + print('>> Using faster float16 precision') model.to(torch.float16) else: - print('Using more accurate float32 precision') + print('>> Using more accurate float32 precision') model.to(self.device) model.eval() diff --git a/scripts/dream.py b/scripts/dream.py index 34bde5f009..53eda84b96 100755 --- a/scripts/dream.py +++ b/scripts/dream.py @@ -250,11 +250,12 @@ def main_loop(gen, opt, infile): results = [] # list of filename, prompt pairs grid_images = dict() # seed -> Image, only used if `opt.grid` prior_variations = opt.with_variations or [] - first_seed = opt.seed - def image_writer(image, seed, upscaled=False): + def image_writer(image, seed, upscaled=False, first_seed=None): + # note the seed is the seed of the current image + # the first_seed is the original seed that noise is added to + # when the -v switch is used to generate variations path = None - nonlocal first_seed nonlocal prior_variations if opt.grid: grid_images[seed] = image