ICBINP_OG / app.py
jayparmr's picture
Update app.py
69833c0
import gradio as gr
import torch
# from diffusers import DiffusionPipeline
from diffusers import StableDiffusionPipeline
from diffusers.models import AutoencoderKL
from diffusers import StableDiffusionPipeline
def generate(prompt, negative_prompts, samples, steps,scale, seed, width, height):
pipeline = StableDiffusionPipeline.from_pretrained("jayparmr/icbinp", use_auth_token="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", torch_dtype=torch.float16)
pipeline.to("cuda")
generator = torch.Generator(device="cuda").manual_seed(int(seed))
images_list = pipeline(
[prompt] * samples,
negative_prompt= [negative_prompts] * samples,
num_inference_steps=steps,
guidance_scale=scale,
generator=generator,
width=width,
height=height
)
# vae = AutoencoderKL.from_pretrained("stabilityai/sdxl-vae")
# pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5", vae=vae).to("cuda")
# images_list = pipe(
# [prompt] * samples,
# negative_prompt= [negative_prompts] * samples,
# num_inference_steps=steps,
# guidance_scale=scale
# )
print("stop gen")
images = []
print(images_list)
for i, image in enumerate(images_list["images"]):
images.append(image)
return images
block = gr.Blocks()
with block:
with gr.Group():
with gr.Box():
with gr.Row().style(equal_height=True):
text = gr.Textbox(
label="Enter your prompt",
show_label=False,
max_lines=1,
placeholder="Enter your prompt",
)
negative_text = gr.Textbox(
value="",
label="Enter your negative prompt",
show_label=False,
max_lines=1,
placeholder="Enter your negative prompt",
)
btn = gr.Button("Generate image")
gallery = gr.Gallery(
label="Generated images", show_label=False, elem_id="gallery", width = 512
).style(columns=[2], rows=[2], object_fit="contain", height="auto")
with gr.Row(elem_id="advanced-options"):
samples = gr.Slider(label="Images", minimum=1, maximum=4, value=1, step=1)
steps = gr.Slider(label="Steps", minimum=1, maximum=500, value=100, step=1)
width = gr.Slider(label="width", minimum=1, maximum=2048, value=512, step=1)
height = gr.Slider(label="height", minimum=1, maximum=2048, value=512, step=1)
scale = gr.Slider(
label="Guidance Scale", minimum=0, maximum=50, value=7.5, step=0.1
)
seed = gr.Slider(
label="Seed",
minimum=0,
maximum=2147483647,
step=1
)
text.submit(generate, inputs=[text,negative_text, samples, steps, scale, seed, width, height], outputs=gallery)
btn.click(generate, inputs=[text,negative_text, samples, steps, scale, seed, width, height], outputs=gallery)
block.launch()