File size: 1,804 Bytes
1966e32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1d33747
1966e32
 
a7991c8
1966e32
fca7e0e
1966e32
a7991c8
b065b40
955cd8f
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
from huggingface_hub import from_pretrained_keras
from keras_cv import models
import gradio as gr
import tensorflow as tf 

# load keras model
resolution = 512
dreambooth_model = models.StableDiffusion(
        img_width=resolution, img_height=resolution, jit_compile=True, 
    )
loaded_diffusion_model = from_pretrained_keras("keras-dreambooth/dreambooth_diffusion_minercraft")
dreambooth_model._diffusion_model = loaded_diffusion_model


# generate images
def inference(prompt, negative_prompt, num_imgs_to_gen, num_steps, guidance_scale):
    generated_images = dreambooth_model.text_to_image(
        prompt,
        negative_prompt=negative_prompt,
        batch_size=num_imgs_to_gen,
        num_steps=num_steps,
        unconditional_guidance_scale=guidance_scale,
    )
    return generated_images 
    
    
# pass function, input type for prompt, the output for multiple images
gr.Interface(
    inference, [
        gr.Textbox(label="Positive Prompt", value="a fishing village under a cherry blossom forest at sunset in mrf style"),
        gr.Textbox(label="Negative Prompt", value="bad anatomy, soft blurry"),
        gr.Slider(label='Number of gen image', minimum=1, maximum=4, value=2, step=1),
        gr.Slider(label="Inference Steps",value=50),
        gr.Number(label='Guidance scale', value=7.5),
    ], [
        gr.Gallery(show_label=False).style(grid=(1,2)),
    ],
    examples = [["a fishing village under a cherry blossom forest at sunset in mrf style", "((ugly)), blurry, ((bad anatomy)), duplicate", 4, 100, 10]],
    title="Keras Dreambooth - Minecraft Style Demo 🤖",
    cache_examples=True,
    description = "This model has been fine tuned to learn the concept of Minecraft. To use this demo, you should have {mrf style} in the input",
    ).queue().launch(debug=True)