File size: 946 Bytes
805ff18
 
0dd164e
 
 
805ff18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from tensorflow.keras.models import load_model
from PIL import Image
import gradio as gr
import numpy as np

model=load_model('NumberToImage.h5')

def generate_image(number):
    number=int(number) 
    if not (0<=number<10):
        return "Number must be between 0 and 9"

    one_hot=np.zeros((1, 10))
    one_hot[0, number]=1
    
    img=model.predict(one_hot)[0]

    if img.max() <= 1.0:
        img=(img * 255).astype(np.uint8)
    else:
        img=img.astype(np.uint8)
    
    img=Image.fromarray(img)
    img=img.resize((280, 280), resample=Image.NEAREST)

    return img

gr.Interface(
    fn=generate_image,
    inputs=gr.Number(label="Enter a number (0 to 9)", precision=0),
    outputs=gr.Image(type="pil"),
    title="Number to Image Generator",
    description="Enter a digit (0 to 9) to generate its corresponding image from a trained model. [Github Repository](https://github.com/NishantkSingh0/Image-Generation/)"
).launch()