Неправильный прогноз для Raspberry pi с использованием модели tf-lite, преобразованной из Keras - PullRequest
0 голосов
/ 13 июня 2019

Эта проблема аналогична существующей проблеме: «Различные прогнозы при запуске модели Keras в TensorFlow Lite» ( Различные прогнозы при запуске модели Keras в TensorFlow Lite ).Не могли бы вы проанализировать этот новый вопрос?Спасибо!

В контейнере Docker с версией tf 1.12.0 или новее запустите следующий скрипт python.

import numpy as np
import tensorflow as tf

IMAGE_WIDTH = 128
IMAGE_HEIGHT = 128
IMAGE_CHANNELS = 3

import pathlib
import os
import cv2

# read an image to predict. 
img = cv2.imread("daisy.jpg")
images = []
img = cv2.resize(img, (IMAGE_WIDTH, IMAGE_HEIGHT))
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
image_data = np.array(img, dtype=np.float)
images.append(image_data)
images = np.asarray(images)
image = images.reshape(1, IMAGE_WIDTH, IMAGE_HEIGHT,
        IMAGE_CHANNELS)

# input a pretrained model. 
keras_file = "keras_model.h5"
model = tf.keras.models.load_model(keras_file)

# predict the image. 
predictions = model.predict(image)
print("prediction: ", np.argmax(predictions[0]))

# Convert to TensorFlow Lite model.
converter=tf.contrib.lite.TocoConverter.from_keras_model_file
        (keras_file)
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)

Результат: ('prediction: ', 0), что ожидается.

При одинаковом converted_model.tflite на Raspberry Pi значение prediction всегда не равно 0, что неверно.

...