У меня есть модель Keras, которую я хочу запустить на устройстве Coral Edge TPU.Для этого должна быть модель Tensorflow Lite с полным целочисленным квантованием.Я смог преобразовать модель в модель TFLite:
model.save('keras_model.h5')
converter = tf.lite.TFLiteConverter.from_keras_model_file("keras_model.h5")
tflite_model = converter.convert()
open("converted_model.tflite", "wb").write(tflite_model)
Но когда я запускаю edgetpu_compiler converted_model.tflite
, я получаю эту ошибку:
Edge TPU Compiler version 2.0.267685300
Invalid model: converted_model.tflite
Model not quantized
Это потому, что мне нужно квантоватьмодель, но я не уверен, как это сделать.Я нашел эту страницу , которая говорит мне, как это сделать, но он хочет, чтобы я сделал генератор входных данных.Вот пример, который он предоставляет:
def representative_dataset_gen():
for _ in range(num_calibration_steps):
# Get sample input data as a numpy array in a method of your choosing.
yield [input]
Как я могу адаптировать этот код для работы с моими входными данными?Откуда взялся num_calibration_steps
?Есть лучший способ сделать это?(Я видел ссылки на tf.contrib.tpu.keras_to_tpu_model
, но он устарел)