File size: 910 Bytes
91f8c72
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from cvae import get_encoder, get_decoder, CVAE
import tensorflow as tf
import gradio as gr
import numpy as np
from matplotlib import cm
from PIL import Image

IMAGE_SIZE = (64, 64)
model = CVAE(get_encoder(), get_decoder(), latent_dim=512)
model.load_weights("model_data/cvae_trained.ckpt")


def generate_image(mean, variance):

    sample = np.random.normal(mean, variance, size=512)
    image = tf.reshape(model.decoder(sample[tf.newaxis, :]), IMAGE_SIZE)
    image = [Image.fromarray(np.uint8(cm.gray(image)*255))]

    return image


title = "variational-autoencoder-faces "

gr.Interface(fn=generate_image, outputs=gr.Gallery(), inputs=[gr.inputs.Slider(default=0, label="mean", maximum=10, minimum=-10, step=.1),
                                                              gr.inputs.Slider(default=1, label="variance", maximum=20, minimum=0, step=.1)],
             title=title).launch(inline=False)