|
|
|
import gradio as gr |
|
import torch |
|
|
|
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 |
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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() |