Spaces:
Build error
Build error
import numpy as np | |
import matplotlib.pyplot as plt | |
from progressbar import ProgressBar | |
import matplotlib.image as mpimg | |
import tensorflow as tf | |
from tensorflow.keras.preprocessing.image import img_to_array, load_img | |
def get_image_arrays(image_column, image_path): | |
progressBar = ProgressBar() | |
X = [] | |
for image_id in progressBar(image_column.values): | |
image = load_img(image_path + image_id, target_size=(224, 224)) | |
image_array = img_to_array(image) | |
X.append(image_array) | |
X_array = np.asarray(X, dtype='float32') | |
X_array /= 255. | |
return X_array | |
def get_image_predictions(image_array, model_path): | |
# Load the TFLite model and allocate tensors. | |
interpreter = tf.lite.Interpreter(model_path=model_path) | |
interpreter.allocate_tensors() | |
# Get input and output tensors. | |
input_details = interpreter.get_input_details() | |
output_details = interpreter.get_output_details() | |
# Test the model on random input data. | |
input_shape = input_details[0]['shape'] | |
input_data = image_array | |
interpreter.set_tensor(input_details[0]['index'], input_data) | |
interpreter.invoke() | |
# The function `get_tensor()` returns a copy of the tensor data. | |
# Use `tensor()` in order to get a pointer to the tensor. | |
output_data = interpreter.get_tensor(output_details[0]['index']) | |
return output_data | |
def show_image(image_id, image_path): | |
image_id_dict = dict(image_id).values() | |
image_id_string = list(image_id_dict)[0] | |
img = mpimg.imread(image_path + image_id_string) | |
plt.imshow(img, interpolation='nearest', aspect='auto') | |
plt.show() | |