File size: 2,558 Bytes
6c257f1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0aa6fd6
 
 
6c257f1
 
 
 
 
 
 
 
0aa6fd6
 
6c257f1
 
 
 
e551d7e
6c257f1
 
 
 
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
import gradio as gr
from image_generation import generate_image
# from image_generation import test_print

model_options = ["CompVis/stable-diffusion-v1-4", 
                    "runwayml/stable-diffusion-v1-5",
                    "stabilityai/stable-diffusion-2-1", 
                    "stabilityai/stable-diffusion-2-1-base",
                    "prompthero/openjourney-v4"]

scheduler_options = ["None", 
                     "EulerDiscreteScheduler", 
                     "PNDMScheduler", 
                     "DPMSolverMultistepScheduler", 
                     "LMSDiscreteScheduler", 
                     "HeunDiscreteScheduler"]

def main():
        prompt = gr.Textbox(label="Enter your prompt")
        negative_prompt = gr.Textbox(label="Negative prompt", type='text', value="disfigured, ugly, bad, immature, cartoon, anime, 3d, painting, b&w") 
        guidance_scale = gr.Textbox(label="Guidance scale", type='text', value=7.5)
        model_dropdown = gr.Dropdown(choices=model_options, 
                                label='Model',
                                value='prompthero/openjourney-v4',
                                info='Select model for inference')

        scheduler_dropdown = gr.Dropdown(choices=scheduler_options, 
                                label='Scheduler',
                                value='None',
                                info='Select scheduler for inference. None for default')

        inference_steps = gr.Slider(1, 100, value=50, step=1, label="Inference steps", info="Choose between 1 and 100")
        num_of_images = gr.Slider(1, 4, value=1, step=1, label="Number of images", info="Choose between 1 and 4")

        # generated_image = gr.Image(label="Generated Image")
        gen_image_grid = gr.Gallery(label='Generated images').style(columns=[2], rows=[2], object_fit="cover", height="auto", preview=True)
        app = gr.Interface(fn=generate_image, 
                        inputs=[prompt, 
                                negative_prompt,
                                model_dropdown,
                                scheduler_dropdown,
                                inference_steps,
                                guidance_scale,
                                num_of_images],
                        # outputs=generated_image,
                        outputs=gen_image_grid, 
                        title="Image Generation",
                        )
        app.launch()

if __name__=="__main__":
        main()