| import gradio as gr |
| import numpy as np |
| from tensorflow.keras.preprocessing.image import load_img, img_to_array |
| from tensorflow.keras.models import load_model |
| from PIL import Image |
| import matplotlib.pyplot as plt |
|
|
| i1 = gr.inputs.Image(shape=(256, 256)) |
| |
| o1 = gr.outputs.Image(type='numpy') |
| o2 = gr.outputs.Image(type='numpy') |
| gen_model = load_model('256_model_250ep.h5') |
|
|
| def colorify(pixels): |
| |
| pixels = (pixels - 127.5) / 127.5 |
| pixels = np.expand_dims(pixels, 0) |
| gen_image = gen_model.predict(pixels) |
| gen_image = (gen_image + 1) / 2 |
| |
| return Image.fromarray((gen_image[0] * 255.0).astype(np.uint8)) |
| |
| title = "Colorify" |
| description = "Recolor your images using this lite version of PIX2PIX GAN , model is trained on 700 randomly collected images from the internet with 256*256 pixels. Due to the above constraint please note that the resolution of your images will decrease" |
| examples=[['example1.png'],['example2.jpg']] |
| article = "<p style='text-align: center'>" |
|
|
| gr.Interface(fn=colorify, inputs=i1, outputs=o1, title=title, description=description, article=article, examples=examples, enable_queue=True).launch() |
| |