Spaces:
Running
on
Zero
Running
on
Zero
File size: 5,972 Bytes
9857f35 3a56c9c cd732b5 9857f35 3a56c9c 9857f35 3a56c9c 6100687 3a56c9c cd732b5 3a56c9c ba1b384 3a56c9c 0acc300 c587414 3a56c9c 0acc300 3a56c9c 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 c587414 3fea8d9 568fc20 7c2cc05 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 6100687 8cb286b a6fce5e 9857f35 a6fce5e 9857f35 a0d7fba 9857f35 a6fce5e 73b3888 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 deb2e1e 9857f35 a6fce5e 9857f35 deb2e1e 9857f35 a6fce5e 9857f35 a6fce5e 9857f35 8cb286b 9857f35 a6fce5e f588de8 a6fce5e 9857f35 a6fce5e 9857f35 a6fce5e |
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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
import gradio as gr
import numpy as np
import random
import torch
import spaces
from diffusers import (
DiffusionPipeline,
AutoencoderTiny,
)
from huggingface_hub import hf_hub_download
def feifeimodload():
dtype = torch.bfloat16
device = "cuda" if torch.cuda.is_available() else "cpu"
taef1 = AutoencoderTiny.from_pretrained("aifeifei798/taef1", torch_dtype=dtype).to(
device
)
pipe = DiffusionPipeline.from_pretrained(
"aifeifei798/DarkIdol-flux-v1", torch_dtype=dtype, vae=taef1
).to(device)
pipe.load_lora_weights(
hf_hub_download("aifeifei798/feifei-flux-lora-v1", "feifei.safetensors"),
adapter_name="feifei",
)
pipe.set_adapters(
["feifei"],
adapter_weights=[0.7],
)
pipe.fuse_lora(
adapter_name=["feifei"],
lora_scale=1.0,
)
pipe.unload_lora_weights()
torch.cuda.empty_cache()
return pipe
pipe = feifeimodload()
MAX_SEED = np.iinfo(np.int32).max
MAX_IMAGE_SIZE = 2048
@spaces.GPU()
def infer(prompt, seed=42, randomize_seed=False, width=1024, height=1024, num_inference_steps=4, progress=gr.Progress(track_tqdm=True)):
if randomize_seed:
seed = random.randint(0, MAX_SEED)
generator = torch.Generator().manual_seed(seed)
image = pipe(
prompt = prompt,
width = width,
height = height,
num_inference_steps = num_inference_steps,
generator = generator,
guidance_scale=0.0
).images[0]
return image, seed
examples = [
"Create a high-resolution, professionally lit and styled photo of a Japanese female model in a luxurious winter fashion shoot on a beach, showcasing natural lighting, consistent aesthetics, balanced composition, intricate details, harmonious colors, flawless execution, emotional expression, creativity, and a unique concept, optimized for technical excellence and featuring master-level lighting, color, and styling.",
"Capture a serene Japanese model in a snow-covered street, clad in a sensual Balenciaga winter outfit, evoking a sense of intimacy and luxury, with a harmonious blend of warm and cool tones, subtle shadows, and meticulous details, conveying a narrative of elegance and poise.",
"A high-resolution photograph of a Japanese female model posing for a Louis Vuitton brand advertisement, featuring natural lighting effects, a consistent style, balanced composition, rich details, harmonious colors, no visible flaws, emotional expression, creativity, and uniqueness, with optimized technical parameters, master-level lighting, master-level color, and master-level styling.",
"A high-resolution photograph of a Japanese female model in a serene, natural setting, with soft, warm lighting, and a minimalist aesthetic, showcasing a elegant fragrance bottle and the model's effortless, emotive expression, with impeccable styling, and a muted color palette, evoking a sense of understated luxury and refinement.",
"A high-resolution photograph of a Japanese female model posing beside a sleek, red Ferrari, bathed in warm, golden light, with subtle shadows accentuating her curves and the car's contours, set against a blurred, gradient blue background, with the model's elegant, flowing gown and the Ferrari's metallic sheen perfectly complementing each other in a masterful display of color, texture, and composition.",
]
css="""
#col-container {
margin: 0 auto;
max-width: 520px;
}
"""
with gr.Blocks(css=css) as demo:
with gr.Column(elem_id="col-container"):
gr.Markdown(f"""# DarkIdol-flux-v1 + feifei-flux-lora-v1
DarkIdol-flux-v1.1 + feifei-flux-lora-v1 is a text-to-image AI model designed to create aesthetic, detailed and diverse images from textual prompts in just 6-8 steps. It offers enhanced performance in image quality, typography, understanding complex prompts, and resource efficiency.
""")
with gr.Row():
prompt = gr.Text(
label="Prompt",
show_label=False,
max_lines=12,
placeholder="Enter your prompt",
container=False,
)
run_button = gr.Button("Run", scale=0)
result = gr.Image(label="Result", show_label=False,height=520)
with gr.Accordion("Advanced Settings", open=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=1088,
)
height = gr.Slider(
label="Height",
minimum=256,
maximum=MAX_IMAGE_SIZE,
step=32,
value=1920,
)
with gr.Row():
num_inference_steps = gr.Slider(
label="Number of inference steps",
minimum=1,
maximum=50,
step=1,
value=6,
)
gr.Examples(
examples = examples,
fn = infer,
inputs = [prompt],
outputs = [result, seed],
cache_examples=False
)
gr.on(
triggers=[run_button.click, prompt.submit],
fn = infer,
inputs = [prompt, seed, randomize_seed, width, height, num_inference_steps],
outputs = [result, seed]
)
demo.launch() |