File size: 2,148 Bytes
69f6fc2 b88c59f 78ed83d 2f0087d 78ed83d b88c59f 69f6fc2 b6badad b88c59f 69f6fc2 78ed83d 69f6fc2 78ed83d 2f0087d b6badad b88c59f 34be351 b88c59f 34be351 69f6fc2 b88c59f d4bb530 b88c59f 34be351 b88c59f 34be351 b88c59f 34be351 78ed83d b88c59f 34be351 78ed83d 34be351 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#!/usr/bin/env python3
from diffusers import StableDiffusionPipeline, KDPM2DiscreteScheduler, StableDiffusionImg2ImgPipeline, HeunDiscreteScheduler, KDPM2AncestralDiscreteScheduler
import time
import os
from huggingface_hub import HfApi
# from compel import Compel
import torch
import sys
from pathlib import Path
import requests
from PIL import Image
from io import BytesIO
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 = StableDiffusionImg2ImgPipeline.from_pretrained(path, torch_dtype=torch.float16, safety_checker=None)
pipe.scheduler = KDPM2AncestralDiscreteScheduler.from_config(pipe.scheduler.config)
# compel = Compel(tokenizer=pipe.tokenizer, text_encoder=pipe.text_encoder)
pipe = pipe.to("cuda")
prompt = "ghibli style, a fantasy landscape with castles"
# rompts = ["a cat playing with a ball++ in the forest", "a cat playing with a ball++ in the forest", "a cat playing with a ball-- in the forest"]
# prompt_embeds = torch.cat([compel.build_conditioning_tensor(prompt) for prompt in prompts])
# generator = [torch.Generator(device="cuda").manual_seed(0) for _ in range(prompt_embeds.shape[0])]
#
url = "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/assets/stable-samples/img2img/sketch-mountains-input.jpg"
response = requests.get(url)
image = Image.open(BytesIO(response.content)).convert("RGB")
image.thumbnail((768, 768))
generator = torch.Generator(device="cpu").manual_seed(0)
images = pipe(prompt=prompt, image=image, generator=generator, strength=0.75, num_inference_steps=30).images
print("Time", time.time() - start_time)
for i, image in enumerate(images):
path = os.path.join(Path.home(), "images", f"aa_{i}.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(f"https://huggingface.co./datasets/patrickvonplaten/images/blob/main/aa_{i}.png")
|