| #!/usr/bin/env python3 | |
| from diffusers import StableDiffusionPipeline, DPMSolverSinglestepScheduler, DPMSolverMultistepScheduler, DEISMultistepScheduler, HeunDiscreteScheduler | |
| from diffusers.schedulers.scheduling_unipc_multistep import UniPCMultistepScheduler | |
| import time | |
| import os | |
| from huggingface_hub import HfApi | |
| import torch | |
| import sys | |
| from pathlib import Path | |
| path = sys.argv[1] | |
| api = HfApi() | |
| start_time = time.time() | |
| #pipe = StableDiffusionPipeline.from_pretrained(path, torch_dtype=torch.float16, device_map="auto") | |
| #pipe.scheduler = HeunDiscreteScheduler.from_config(pipe.scheduler.config) | |
| pipe = StableDiffusionPipeline.from_pretrained(path, torch_dtype=torch.float16) | |
| pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config) | |
| pipe = pipe.to("cuda") | |
| prompt = "a highly realistic photo of green turtle" | |
| generator = torch.Generator(device="cuda").manual_seed(0) | |
| image = pipe(prompt, generator=generator, num_inference_steps=15).images[0] | |
| print("Time", time.time() - start_time) | |
| path = os.path.join(Path.home(), "images", "aa.png") | |
| image.save(path) | |
| api.upload_file( | |
| path_or_fileobj=path, | |
| path_in_repo=path.split("/")[-1], | |
| repo_id="patrickvonplaten/images", | |
| repo_type="dataset", | |
| ) | |
| print("https://huggingface.co/datasets/patrickvonplaten/images/blob/main/aa.png") | |