Spaces:
Sleeping
Sleeping
File size: 3,913 Bytes
daa0c08 4ea785f daa0c08 4ea785f daa0c08 6603ea2 daa0c08 4ea785f daa0c08 ef9a4d3 daa0c08 a65154f daa0c08 a65154f daa0c08 6603ea2 daa0c08 d34b9d8 daa0c08 ef9a4d3 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 20901f0 daa0c08 |
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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
import gradio as gr
import numpy as np
import random
from diffusers import DiffusionPipeline, DDPMPipeline, DDPMScheduler
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
noise_scheduler = DDPMScheduler(num_train_timesteps=1000)
if torch.cuda.is_available():
torch.cuda.max_memory_allocated(device=device)
pipe = DDPMPipeline.from_pretrained("FrozenScar/cartoon_face", torch_dtype=torch.float16, variant="fp16", use_safetensors=True,scheduler=noise_scheduler)
pipe.enable_xformers_memory_efficient_attention()
pipe = pipe.to(device)
else:
pipe = DDPMPipeline.from_pretrained("FrozenScar/cartoon_face", scheduler=noise_scheduler, use_safetensors=True)
pipe = pipe.to(device)
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 1024
def infer(num_inference_steps,prompt, negative_prompt, seed, randomize_seed, width, height, guidance_scale):
#if randomize_seed:
seed = random.randint(0, MAX_SEED)
generator = torch.Generator().manual_seed(seed)
image = pipe(generator=generator,num_inference_steps=num_inference_steps).images[0]
return image
examples = [
"OK broo",
"Nothing brooo"
]
css="""
#col-container {
margin: 0 auto;
max-width: 520px;
}
"""
if torch.cuda.is_available():
power_device = "GPU"
else:
power_device = "CPU"
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown(f"""
# FACE GENERATOR
Currently running on {power_device}.
""")
with gr.Row():
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=20,
step=1,
value=6,
)
run_button = gr.Button("Run", scale=0)
result = gr.Image(label="Result", show_label=False)
# with gr.Accordion("Advanced Settings", open=False):
# negative_prompt = gr.Text(
# label="Negative prompt",
# max_lines=1,
# placeholder="Enter a negative prompt",
# visible=False,
# )
# seed = gr.Slider(
# label="Seed",
# minimum=0,
# maximum=MAX_SEED,
# step=1,
# value=0,
# )
# randomize_seed = gr.Checkbox(label="Randomize seed", value=True)
# with gr.Row():
# width = gr.Slider(
# label="Width",
# minimum=256,
# maximum=MAX_IMAGE_SIZE,
# step=32,
# value=512,
# )
# height = gr.Slider(
# label="Height",
# minimum=256,
# maximum=MAX_IMAGE_SIZE,
# step=32,
# value=512,
# )
# with gr.Row():
# guidance_scale = gr.Slider(
# label="Guidance scale",
# minimum=0.0,
# maximum=10.0,
# step=0.1,
# value=0.0,
# )
# num_inference_steps = gr.Slider(
# label="Number of inference steps",
# minimum=1,
# maximum=120,
# step=1,
# value=2,
# )
# gr.Examples(
# examples = examples,
# inputs = [prompt]
# )
run_button.click(
fn = infer,
inputs = [ num_inference_steps],
outputs = [result]
)
demo.queue().launch() |