Spaces:
Runtime error
Runtime error
import tensorflow as tf | |
from tensorflow import keras | |
def img_scaler(image, max_dim = 512): | |
#Casts tensor to a new data type | |
original_shape = tf.cast(tf.shape(image)[:-1], tf.float32) | |
#Creates scale constant for the image based on imput max_dim | |
scale_ratio = max_dim / max(original_shape) | |
#Casts tensor to a new data type | |
new_shape = tf.cast(original_shape * scale_ratio, tf.int32) | |
#Resizes image | |
return tf.image.resize(image, new_shape) | |
def load_img(image_path, content=True, max_dim = 512): | |
if content: | |
#content images come straight from the web app, so no opening or decoding | |
img = image_path | |
#Convert image to dtype | |
img = tf.image.convert_image_dtype(img, tf.float32) | |
#Scale the image using the created scaler function | |
img = img_scaler(img, max_dim) | |
#Adds a fourth dimension to the Tensor because the model requires a 4-dimensional Tensor | |
return img[tf.newaxis, :] | |
else: | |
#Read contents of the input filename | |
img = tf.io.read_file(image_path) | |
#Detect whether an image is a BMP, GIF, JPEG, or PNG, | |
#performs the appropriate operation | |
#convert the input bytes string into a Tensor of type dtype | |
img = tf.image.decode_image(img, channels=3) | |
#Convert image to dtype | |
img = tf.image.convert_image_dtype(img, tf.float32) | |
#Scale the image using the created scaler function | |
img = img_scaler(img, max_dim) | |
#Adds a fourth dimension to the Tensor because the model requires a 4-dimensional Tensor | |
return img[tf.newaxis, :] |