riyaparikh commited on
Commit
ad540f4
·
1 Parent(s): a87709e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +45 -0
app.py ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from tensorflow.keras.models import load_model
3
+ from tensorflow.keras.layers import Input
4
+ from tensorflow_addons.layers import InstanceNormalization
5
+ import numpy as np
6
+ from PIL import Image
7
+
8
+ def load_image(img):
9
+ with open(img.name, 'rb') as f:
10
+ img_data = f.read()
11
+ return img_data
12
+
13
+ def translate_image(image):
14
+ # load the model
15
+ cust = {'InstanceNormalization': InstanceNormalization}
16
+ model_AtoB = load_model('/Users/riyaparikh/Desktop/ML Projects /CycleGAN/g_model_BtoA_004000.h5', cust)
17
+
18
+ # convert to numpy array
19
+ image_np = np.array(image)
20
+ # image = Resizing(256, 256)(image)
21
+ # normalize pixels
22
+ image_np = (image_np - 127.5) / 127.5
23
+ # add batch dimension
24
+ image_np = np.expand_dims(image_np, axis=0)
25
+ # translate image
26
+ image_tar = model_AtoB.predict(image_np)
27
+ # scale from [-1,1] to [0,1]
28
+ image_tar = (image_tar + 1) / 2.0
29
+ # convert back to PIL image
30
+ image_tar = (image_tar[0] * 255).astype(np.uint8)
31
+ image_tar = Image.fromarray(image_tar)
32
+ return image_tar
33
+
34
+
35
+
36
+ # create the interface
37
+ input_image = gr.inputs.Image(type="pil")
38
+ output_image = gr.outputs.Image(type="pil")
39
+
40
+ iface = gr.Interface(fn=translate_image, inputs=input_image, outputs=output_image,
41
+ title="Van Gogh-ify Your Images🎨👨‍🎨",
42
+ description="Translate an image from one domain to another using CycleGAN")
43
+
44
+ iface.launch()
45
+