from huggingface_hub import from_pretrained_keras
import matplotlib.pyplot as plt
from math import sqrt, ceil
import tensorflow as tf
import gradio as gr
import numpy as np
model = from_pretrained_keras("IMvision12/WGAN-GP")
title = "WGAN-GP"
description = "Image Generation Using WGAN"
article = """
Keras Example given by A_K_Nain
Space by Gitesh Chawda
"""
def Predict(num_images):
random_latent_vectors = tf.random.normal(shape=(int(num_images), 128))
predictions = model.predict(random_latent_vectors)
num = ceil(sqrt(num_images))
images = np.zeros((28*num, 28*num), dtype=float)
n = 0
for i in range(num):
for j in range(num):
if n == num_images:
break
images[i* 28 : (i+1)*28, j*28 : (j+1)*28] = predictions[n, :, :, 0]
n += 1
return images
inputs = gr.inputs.Number(label="number of images")
outputs = gr.outputs.Image(label="Predictions")
examples = [
[10],
[7],
[1],
[3],
[5]
]
gr.Interface(Predict, inputs, outputs, article=article, title=title, description=description, examples=examples, analytics_enabled=False).launch(enable_queue=True)