diff --git a/ldm/dream/server.py b/ldm/dream/server.py index 1c9508e792..46af9df931 100644 --- a/ldm/dream/server.py +++ b/ldm/dream/server.py @@ -11,6 +11,7 @@ class CanceledException(Exception): class DreamServer(BaseHTTPRequestHandler): model = None + outdir = None canceled = Event() def do_GET(self): @@ -91,7 +92,7 @@ class DreamServer(BaseHTTPRequestHandler): images_generated = 0 # helps keep track of when upscaling is started images_upscaled = 0 # helps keep track of when upscaling is completed - pngwriter = PngWriter("./outputs/img-samples/") + pngwriter = PngWriter(self.outdir) prefix = pngwriter.unique_prefix() # if upscaling is requested, then this will be called twice, once when @@ -104,7 +105,7 @@ class DreamServer(BaseHTTPRequestHandler): # Append post_data to log, but only once! if not upscaled: - with open("./outputs/img-samples/dream_web_log.txt", "a") as log: + with open(os.path.join(self.outdir, "dream_web_log.txt"), "a") as log: log.write(f"{path}: {json.dumps(config)}\n") self.wfile.write(bytes(json.dumps( @@ -132,7 +133,7 @@ class DreamServer(BaseHTTPRequestHandler): {'event':action,'processed_file_cnt':f'{x}/{iterations}'} ) + '\n',"utf-8")) - step_writer = PngWriter('./outputs/intermediates/') + step_writer = PngWriter(os.path.join(self.outdir, "intermediates")) step_index = 1 def image_progress(sample, step): if self.canceled.is_set(): diff --git a/scripts/dream.py b/scripts/dream.py index b43b856e8b..6c4a110c4e 100755 --- a/scripts/dream.py +++ b/scripts/dream.py @@ -105,7 +105,7 @@ def main(): cmd_parser = create_cmd_parser() if opt.web: - dream_server_loop(t2i, opt.host, opt.port) + dream_server_loop(t2i, opt.host, opt.port, opt.outdir) else: main_loop(t2i, opt.outdir, opt.prompt_as_dir, cmd_parser, infile) @@ -316,7 +316,7 @@ def get_next_command(infile=None) -> str: #command string print(f'#{command}') return command -def dream_server_loop(t2i, host, port): +def dream_server_loop(t2i, host, port, outdir): print('\n* --web was specified, starting web server...') # Change working directory to the stable-diffusion directory os.chdir( @@ -325,6 +325,7 @@ def dream_server_loop(t2i, host, port): # Start server DreamServer.model = t2i + DreamServer.outdir = outdir dream_server = ThreadingDreamServer((host, port)) print(">> Started Stable Diffusion dream server!") if host == '0.0.0.0':