| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | import argparse | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							| 
									
										
										
										
											2022-10-09 17:58:43 +03:00
										 |  |  | import modules.safe | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | script_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | models_path = os.path.join(script_path, "models") | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | sys.path.insert(0, script_path) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-26 09:29:50 -05:00
										 |  |  | # search for directory of stable diffusion in following places | 
					
						
							| 
									
										
										
										
											2022-09-06 10:38:02 +03:00
										 |  |  | sd_path = None | 
					
						
							| 
									
										
										
										
											2022-09-10 10:29:19 +03:00
										 |  |  | possible_sd_paths = [os.path.join(script_path, 'repositories/stable-diffusion'), '.', os.path.dirname(script_path)] | 
					
						
							| 
									
										
										
										
											2022-09-06 10:38:02 +03:00
										 |  |  | for possible_sd_path in possible_sd_paths: | 
					
						
							|  |  |  |     if os.path.exists(os.path.join(possible_sd_path, 'ldm/models/diffusion/ddpm.py')): | 
					
						
							|  |  |  |         sd_path = os.path.abspath(possible_sd_path) | 
					
						
							| 
									
										
										
										
											2022-10-08 16:49:43 +01:00
										 |  |  |         break | 
					
						
							| 
									
										
										
										
											2022-09-06 10:38:02 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-11 00:26:24 +03:00
										 |  |  | assert sd_path is not None, "Couldn't find Stable Diffusion in any of: " + str(possible_sd_paths) | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | path_dirs = [ | 
					
						
							| 
									
										
										
										
											2022-09-30 08:21:05 +03:00
										 |  |  |     (sd_path, 'ldm', 'Stable Diffusion', []), | 
					
						
							|  |  |  |     (os.path.join(sd_path, '../taming-transformers'), 'taming', 'Taming Transformers', []), | 
					
						
							|  |  |  |     (os.path.join(sd_path, '../CodeFormer'), 'inference_codeformer.py', 'CodeFormer', []), | 
					
						
							|  |  |  |     (os.path.join(sd_path, '../BLIP'), 'models/blip.py', 'BLIP', []), | 
					
						
							|  |  |  |     (os.path.join(sd_path, '../k-diffusion'), 'k_diffusion/sampling.py', 'k_diffusion', ["atstart"]), | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  | ] | 
					
						
							| 
									
										
										
										
											2022-09-07 12:32:28 +03:00
										 |  |  | 
 | 
					
						
							|  |  |  | paths = {} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-30 08:21:05 +03:00
										 |  |  | for d, must_exist, what, options in path_dirs: | 
					
						
							| 
									
										
										
										
											2022-09-03 12:08:45 +03:00
										 |  |  |     must_exist_path = os.path.abspath(os.path.join(script_path, d, must_exist)) | 
					
						
							|  |  |  |     if not os.path.exists(must_exist_path): | 
					
						
							|  |  |  |         print(f"Warning: {what} not found at path {must_exist_path}", file=sys.stderr) | 
					
						
							|  |  |  |     else: | 
					
						
							| 
									
										
										
										
											2022-09-07 12:32:28 +03:00
										 |  |  |         d = os.path.abspath(d) | 
					
						
							| 
									
										
										
										
											2022-09-30 08:21:05 +03:00
										 |  |  |         if "atstart" in options: | 
					
						
							|  |  |  |             sys.path.insert(0, d) | 
					
						
							|  |  |  |         else: | 
					
						
							|  |  |  |             sys.path.append(d) | 
					
						
							| 
									
										
										
										
											2022-09-07 12:32:28 +03:00
										 |  |  |         paths[what] = d |