Team Ai
Apppublic

Gosula/Stable_diffusion_model

sourceHugging Facemitupdated 2y agoView on Hugging Face
0likes
app.py111 linesDownload Raw Back to root
1from base64 import b64encode2from utils import *3from device import torch_device,vae,text_encoder,unet,tokenizer,scheduler,token_emb_layer,pos_emb_layer,position_embeddings4import numpy5import torch6from diffusers import AutoencoderKL, LMSDiscreteScheduler, UNet2DConditionModel7from huggingface_hub import notebook_login8import gradio as gr9import random10import torch11import pathlib12import gradio as gr13import random14import torch15import pathlib16# For video display:17from IPython.display import HTML18from matplotlib import pyplot as plt19from pathlib import Path20from PIL import Image21from torch import autocast22from torchvision import transforms as tfms23from tqdm.auto import tqdm24from transformers import CLIPTextModel, CLIPTokenizer, logging25import os26import shutil27 28from stablediffusion import *29path="Project/concept_styles"30concept_styles={31    "cubex":"cubex.bin",32    "hours-style":"hours-style.bin",33    "orange-jacket":"orange-jacket.bin",34    "simple_styles(2)":"simple_styles(2).bin",35    "xyz":"xyz.bin"36 37}38 39 40def generate(prompt, styles,num_inference_steps, loss_scale,noised_image):41    lossless_images, lossy_images = [], []42    for style in styles:43        concept_lib_path = f"{path}/{concept_styles[style]}"44        concept_lib = pathlib.Path(concept_lib_path)45        concept_embed = torch.load(concept_lib)46 47        manual_seed = random.randint(0, 100)48 49        generated_image_lossless = generate_image(prompt,concept_embed,num_inference_steps=num_inference_steps,color_postprocessing=False,noised_image=noised_image,loss_scale=loss_scale,seed=manual_seed50        )51        generated_image_lossy = generate_image(prompt,concept_embed,num_inference_steps=num_inference_steps,color_postprocessing=True,noised_image=noised_image,loss_scale=loss_scale,seed=manual_seed52        )53        lossless_images.append((generated_image_lossless, style))54        lossy_images.append((generated_image_lossy, style))55    return {lossless_gallery: lossless_images,lossy_gallery: lossy_images}56 57with gr.Blocks() as app:58    gr.Markdown("## ERA V1 Session20 - Stable Diffusion Model: Generative Art with Guidance")59    with gr.Row():60        with gr.Column():61            prompt_box = gr.Textbox(label="Prompt", interactive=True)62            style_selector = gr.Dropdown(63                choices=list(concept_styles.keys()),64                value=list(concept_styles.keys())[0],65                multiselect=True,66                label="Select a Concept Style",67                interactive=True,68            )69            num_inference_steps = gr.Slider(70                minimum=10,71                maximum=50,72                value=30,73                step=10,74                label="Select Number of Steps",75                interactive=True,76            )77 78            loss_scale = gr.Slider(79                minimum=0,80                maximum=10,81                value=8,82                step=1,83                label="Select Guidance Scale",84                interactive=True,85            )86            noised_image = gr.Checkbox(87                label="Include Noised Image",88                default=False,89                interactive=True,90            )91 92 93            submit_btn = gr.Button(value="Generate")94 95        with gr.Column():96            lossless_gallery = gr.Gallery(97                label="Generated Images without Guidance", show_label=True98            )99            lossy_gallery = gr.Gallery(100                label="Generated Images with Guidance", show_label=True101            )102 103        submit_btn.click(104            generate,105            inputs=[prompt_box, style_selector, num_inference_steps, loss_scale,noised_image],106            outputs=[lossless_gallery,lossy_gallery],107        )108 109app.launch()110 111