Spaces:
Runtime error
Runtime error
| import os | |
| import time | |
| from PIL import Image | |
| import numpy as np | |
| import tensorflow as tf | |
| import tensorflow_hub as hub | |
| import matplotlib.pyplot as plt | |
| import gradio as gr | |
| os.environ["TFHUB_DOWNLOAD_PROGRESS"] = "True" | |
| os.system("wget https://user-images.githubusercontent.com/12981474/40157448-eff91f06-5953-11e8-9a37-f6b5693fa03f.png -O original.png") | |
| # Declaring Constants | |
| IMAGE_PATH = "original.png" | |
| SAVED_MODEL_PATH = "https://tfhub.dev/captain-pool/esrgan-tf2/1" | |
| def preprocess_image(image_path): | |
| """ Loads image from path and preprocesses to make it model ready | |
| Args: | |
| image_path: Path to the image file | |
| """ | |
| hr_image = tf.image.decode_image(tf.io.read_file(image_path)) | |
| # If PNG, remove the alpha channel. The model only supports | |
| # images with 3 color channels. | |
| if hr_image.shape[-1] == 4: | |
| hr_image = hr_image[...,:-1] | |
| hr_size = (tf.convert_to_tensor(hr_image.shape[:-1]) // 4) * 4 | |
| hr_image = tf.image.crop_to_bounding_box(hr_image, 0, 0, hr_size[0], hr_size[1]) | |
| hr_image = tf.cast(hr_image, tf.float32) | |
| return tf.expand_dims(hr_image, 0) | |
| def plot_image(image): | |
| """ | |
| Plots images from image tensors. | |
| Args: | |
| image: 3D image tensor. [height, width, channels]. | |
| title: Title to display in the plot. | |
| """ | |
| image = np.asarray(image) | |
| image = tf.clip_by_value(image, 0, 255) | |
| image = Image.fromarray(tf.cast(image, tf.uint8).numpy()) | |
| return image | |
| model = hub.load(SAVED_MODEL_PATH) | |
| def inference(img): | |
| hr_image = preprocess_image(img) | |
| start = time.time() | |
| fake_image = model(hr_image) | |
| fake_image = tf.squeeze(fake_image) | |
| print("Time Taken: %f" % (time.time() - start)) | |
| pil_image = plot_image(tf.squeeze(fake_image)) | |
| return pil_image | |
| gr.Interface(inference,gr.inputs.Image(type="filepath"),"image").launch() | |