meow / app.py
nahidalam's picture
Update app.py
03e7e0a
raw
history blame
1.29 kB
import gradio as gr
import numpy as np
import tensorflow as tf
import PIL
import os
'''
def sepia(input_img):
sepia_filter = np.array([[.393, .769, .189],
[.349, .686, .168],
[.272, .534, .131]])
sepia_img = input_img.dot(sepia_filter.T)
sepia_img /= sepia_img.max()
return sepia_img
'''
def normalize_img(img):
img = tf.cast(img, dtype=tf.float32)
# Map values in the range [-1, 1]
return (img / 127.5) - 1.0
def predict_and_save(img, generator_model):
img = normalize_img(img)
prediction = generator_model(img, training=False)[0].numpy()
prediction = (prediction * 127.5 + 127.5).astype(np.uint8)
im = PIL.Image.fromarray(prediction)
return im
def run(image_path):
model = tf.keras.models.load_model('generator')
img = tf.keras.preprocessing.image.load_img(
image_path, target_size=(256, 256)
)
#https://www.tensorflow.org/api_docs/python/tf/keras/utils/load_img
img_array = tf.keras.preprocessing.image.img_to_array(img)
img_array = tf.expand_dims(img_array, 0)
predict_and_save(img_array, model)
iface = gr.Interface(run, gr.inputs.Image(shape=(256, 256)), "image")
iface.launch(share = True)