From 38701a6d7b7c9c1ce815dce574e351959acd2736 Mon Sep 17 00:00:00 2001 From: Lincoln Stein Date: Mon, 29 Aug 2022 13:52:44 -0400 Subject: [PATCH] Fix IndexError when generating grid; --grid option can now be passed on shell command line --- ldm/dream/pngwriter.py | 2 ++ scripts/dream.py | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ldm/dream/pngwriter.py b/ldm/dream/pngwriter.py index 46ef493149..584d4479ba 100644 --- a/ldm/dream/pngwriter.py +++ b/ldm/dream/pngwriter.py @@ -93,6 +93,8 @@ class PngWriter: i = 0 for r in range(0, rows): for c in range(0, cols): + if i>=len(image_list): + break grid_img.paste(image_list[i], (c * width, r * height)) i = i + 1 diff --git a/scripts/dream.py b/scripts/dream.py index eb00ea564d..08d269633a 100755 --- a/scripts/dream.py +++ b/scripts/dream.py @@ -163,7 +163,9 @@ def main_loop(t2i, outdir, parser, infile): opt.seed = None normalized_prompt = PromptFormatter(t2i, opt).normalize_prompt() - individual_images = not opt.grid + do_grid = opt.grid or t2i.grid + individual_images = not do_grid + if opt.outdir: if not os.path.exists(opt.outdir): os.makedirs(opt.outdir) @@ -180,8 +182,7 @@ def main_loop(t2i, outdir, parser, infile): file_writer.files_written if individual_images else image_list ) - grid = opt.grid or t2i.grid - if grid and len(results) > 0: + if do_grid and len(results) > 0: grid_img = file_writer.make_grid([r[0] for r in results]) filename = file_writer.unique_filename(results[0][1]) seeds = [a[1] for a in results]