From e6968ff13d28623300830f360ecb0644b26edd5d Mon Sep 17 00:00:00 2001 From: Vietbao Tran <46217210+TapuCosmo@users.noreply.github.com> Date: Thu, 25 Aug 2022 19:28:42 -0700 Subject: [PATCH 1/2] Add EXIF info to optimized_txt2img.py --- optimizedSD/optimized_txt2img.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/optimizedSD/optimized_txt2img.py b/optimizedSD/optimized_txt2img.py index 1d48cce04..5bf76834f 100644 --- a/optimizedSD/optimized_txt2img.py +++ b/optimizedSD/optimized_txt2img.py @@ -4,7 +4,7 @@ import copy from random import randint from omegaconf import OmegaConf -from PIL import Image +from PIL import Image, PngImagePlugin from tqdm import tqdm, trange from itertools import islice from einops import rearrange @@ -290,8 +290,16 @@ def load_model_from_config(ckpt, verbose=False): x_samples_ddim = modelFS.decode_first_stage(samples_ddim[i].unsqueeze(0)) x_sample = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0) x_sample = 255. * rearrange(x_sample[0].cpu().numpy(), 'c h w -> h w c') + info = PngImagePlugin.PngInfo() + info.add_text("Prompt", opt.prompt) + info.add_text("Seed", str(opt.seed)) + info.add_text("Scale", str(opt.scale)) + info.add_text("Steps", str(opt.ddim_steps)) + info.add_text("Precision", opt.precision) + info.add_text("Batch Size", str(opt.n_samples)) + info.add_text("Batch Index", str(i)) Image.fromarray(x_sample.astype(np.uint8)).save( - os.path.join(sample_path, "seed_" + str(opt.seed) + "_" + f"{base_count:05}.png")) + os.path.join(sample_path, "seed_" + str(opt.seed) + "_" + f"{base_count:05}.png"), "PNG", pnginfo=info) opt.seed+=1 base_count += 1 @@ -307,4 +315,4 @@ def load_model_from_config(ckpt, verbose=False): time_taken = (toc-tic)/60.0 -print(("Your samples are ready in {0:.2f} minutes and waiting for you here \n" + sample_path).format(time_taken)) \ No newline at end of file +print(("Your samples are ready in {0:.2f} minutes and waiting for you here \n" + sample_path).format(time_taken)) From eacbd8571ff2eec23e4bd5002a0cced06ec06592 Mon Sep 17 00:00:00 2001 From: Vietbao Tran <46217210+TapuCosmo@users.noreply.github.com> Date: Thu, 25 Aug 2022 19:31:09 -0700 Subject: [PATCH 2/2] Add EXIF info to optimized_img2img.py --- optimizedSD/optimized_img2img.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/optimizedSD/optimized_img2img.py b/optimizedSD/optimized_img2img.py index d4e37854e..80408457c 100644 --- a/optimizedSD/optimized_img2img.py +++ b/optimizedSD/optimized_img2img.py @@ -3,7 +3,7 @@ import numpy as np from random import randint from omegaconf import OmegaConf -from PIL import Image +from PIL import Image, PngImagePlugin from tqdm import tqdm, trange from itertools import islice from einops import rearrange @@ -317,8 +317,18 @@ def load_img(path, h0, w0): x_samples_ddim = modelFS.decode_first_stage(samples_ddim[i].unsqueeze(0)) x_sample = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0) x_sample = 255. * rearrange(x_sample[0].cpu().numpy(), 'c h w -> h w c') + info = PngImagePlugin.PngInfo() + info.add_text("Init Img", os.path.join(os.path.basename(os.path.dirname(opt.init_img)), os.path.basename(opt.init_img))) + info.add_text("Prompt", opt.prompt) + info.add_text("Seed", str(opt.seed)) + info.add_text("Scale", str(opt.scale)) + info.add_text("Steps", str(opt.ddim_steps)) + info.add_text("Strength", str(opt.strength)) + info.add_text("Precision", opt.precision) + info.add_text("Batch Size", str(opt.n_samples)) + info.add_text("Batch Index", str(i)) Image.fromarray(x_sample.astype(np.uint8)).save( - os.path.join(sample_path, "seed_" + str(opt.seed) + "_" + f"{base_count:05}.png")) + os.path.join(sample_path, "seed_" + str(opt.seed) + "_" + f"{base_count:05}.png"), "PNG", pnginfo=info) opt.seed+=1 base_count += 1 @@ -335,4 +345,4 @@ def load_img(path, h0, w0): time_taken = (toc-tic)/60.0 -print(("Your samples are ready in {0:.2f} minutes and waiting for you here \n" + sample_path).format(time_taken)) \ No newline at end of file +print(("Your samples are ready in {0:.2f} minutes and waiting for you here \n" + sample_path).format(time_taken))