Update app.py
Browse files
app.py
CHANGED
|
@@ -1,6 +1,10 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import numpy as np
|
|
|
|
|
|
|
|
|
|
| 3 |
|
|
|
|
| 4 |
def sepia(input_img):
|
| 5 |
sepia_filter = np.array([[.393, .769, .189],
|
| 6 |
[.349, .686, .168],
|
|
@@ -8,7 +12,33 @@ def sepia(input_img):
|
|
| 8 |
sepia_img = input_img.dot(sepia_filter.T)
|
| 9 |
sepia_img /= sepia_img.max()
|
| 10 |
return sepia_img
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
|
| 12 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 13 |
|
| 14 |
iface.launch(share = True)
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import numpy as np
|
| 3 |
+
import tensorflow as tf
|
| 4 |
+
import PIL
|
| 5 |
+
import os
|
| 6 |
|
| 7 |
+
'''
|
| 8 |
def sepia(input_img):
|
| 9 |
sepia_filter = np.array([[.393, .769, .189],
|
| 10 |
[.349, .686, .168],
|
|
|
|
| 12 |
sepia_img = input_img.dot(sepia_filter.T)
|
| 13 |
sepia_img /= sepia_img.max()
|
| 14 |
return sepia_img
|
| 15 |
+
'''
|
| 16 |
+
|
| 17 |
+
def normalize_img(img):
|
| 18 |
+
img = tf.cast(img, dtype=tf.float32)
|
| 19 |
+
# Map values in the range [-1, 1]
|
| 20 |
+
return (img / 127.5) - 1.0
|
| 21 |
|
| 22 |
+
def predict_and_save(img, generator_model):
|
| 23 |
+
img = normalize_img(img)
|
| 24 |
+
prediction = generator_model(img, training=False)[0].numpy()
|
| 25 |
+
prediction = (prediction * 127.5 + 127.5).astype(np.uint8)
|
| 26 |
+
im = PIL.Image.fromarray(prediction)
|
| 27 |
+
return im
|
| 28 |
+
|
| 29 |
+
def run(image_path):
|
| 30 |
+
model = tf.keras.models.load_model('generator')
|
| 31 |
+
img = tf.keras.preprocessing.image.load_img(
|
| 32 |
+
image_path, target_size=(256, 256)
|
| 33 |
+
)
|
| 34 |
+
|
| 35 |
+
#https://www.tensorflow.org/api_docs/python/tf/keras/utils/load_img
|
| 36 |
+
|
| 37 |
+
img_array = tf.keras.preprocessing.image.img_to_array(img)
|
| 38 |
+
img_array = tf.expand_dims(img_array, 0)
|
| 39 |
+
|
| 40 |
+
predict_and_save(img_array, model)
|
| 41 |
+
|
| 42 |
+
iface = gr.Interface(sepia, gr.inputs.Image(shape=(256, 256)), "image")
|
| 43 |
|
| 44 |
iface.launch(share = True)
|