#!/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") | |