|  | import PIL | 
					
						
						|  | import requests | 
					
						
						|  | import torch | 
					
						
						|  | from diffusers import StableDiffusionInstructPix2PixPipeline | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | checkpoint_path = "/root/autodl-tmp/my_self/checkpoint-100" | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | pipe = StableDiffusionInstructPix2PixPipeline.from_pretrained( | 
					
						
						|  | checkpoint_path, | 
					
						
						|  | torch_dtype=torch.float16, | 
					
						
						|  | safety_checker=None | 
					
						
						|  | ).to("cuda") | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | generator = torch.Generator("cuda").manual_seed(0) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | def load_local_image(image_path): | 
					
						
						|  | """从本地路径加载图像并预处理""" | 
					
						
						|  | image = PIL.Image.open(image_path) | 
					
						
						|  | image = PIL.ImageOps.exif_transpose(image) | 
					
						
						|  | image = image.convert("RGB") | 
					
						
						|  | return image | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | local_image_path = "/root/autodl-tmp/my_model/inference.png" | 
					
						
						|  | image = load_local_image(local_image_path) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | prompt = "smile" | 
					
						
						|  | num_inference_steps = 20 | 
					
						
						|  | image_guidance_scale = 1.5 | 
					
						
						|  | guidance_scale = 10 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | edited_image = pipe( | 
					
						
						|  | prompt, | 
					
						
						|  | image=image, | 
					
						
						|  | num_inference_steps=num_inference_steps, | 
					
						
						|  | image_guidance_scale=image_guidance_scale, | 
					
						
						|  | guidance_scale=guidance_scale, | 
					
						
						|  | generator=generator, | 
					
						
						|  | ).images[0] | 
					
						
						|  |  | 
					
						
						|  | def save_generated_image(image, save_dir, save_filename="generated_smile.png"): | 
					
						
						|  |  | 
					
						
						|  | if not os.path.exists(save_dir): | 
					
						
						|  | os.makedirs(save_dir, exist_ok=True) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | save_path = os.path.join(save_dir, save_filename) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | image.save(save_path) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | print(f"\n生成图像已保存 → {save_path}") | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | save_directory = "/root/autodl-tmp/my_model" | 
					
						
						|  | save_filename = "ckpt-100.png" | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | save_generated_image(edited_image, save_directory, save_filename) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  |