Ich versuche, VGG19 zu quantisieren, um es auf der i.MX 8M Plus NPU auszuführen, und benötige mehrere Faltungsausgänge. Wenn ich versuche, es mit dem folgenden Code zu quantisieren, ist die Eingabeskala etwa 3,9e-9 und die Antworten für verschiedene Eingaben sind gleich.
def create_vgg19_c(batch_normalization=False, required_layers=None):
base_model = VGG19(include_top=False, weights='imagenet', input_shape=(256, 256, 3))
base_model.trainable = True
if required_layers is None:
required_layers = [2, 5, 8, 13, 18, 19]
outputs = [base_model.layers[i].output for i in required_layers]
model = Model(inputs=base_model.input, outputs=outputs)
return model
model = create_vgg19_c()
quant_aware_model = tfmot.quantization.keras.quantize_model(model)
def representative_data_gen():
_, h, w, _ = quant_aware_model.input_shape
samples = 100
for i in range(samples):
img_in = np.random.uniform(0, 255, (1, h, w, 3)).astype('float32')
img_in = tf.keras.applications.vgg19.preprocess_input(img_in)
yield [img_in]
converter = tf.lite.TFLiteConverter.from_keras_model(quant_aware_model)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
converter.representative_dataset = representative_data_gen
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8]
converter.experimental_new_converter = True
converter.inference_input_type = tf.uint8
converter.inference_output_type = tf.uint8
quantized_tflite_model = converter.convert()
Ich habe versucht, die Werte zwischen [-128, 127] für int8 und zwischen [-1,1] für float32 zu normalisieren. Ich habe die Parameter des Konverters geändert, ich habe nur den Optimierer verwendet, aber die Skalierung und die gleichen Ergebnisse haben sich nicht geändert. Ich habe auch die Vorverarbeitungsfunktion geändert, aber nichts hat sich geändert. Ich möchte das vorab trainierte VGG19-Backbone mit bestimmten Ausgaben quantisieren.
Ich versuche, VGG19 zu quantisieren, um es auf der i.MX 8M Plus NPU auszuführen, und benötige mehrere Faltungsausgänge. Wenn ich versuche, es mit dem folgenden Code zu quantisieren, ist die Eingabeskala etwa 3,9e-9 und die Antworten für verschiedene Eingaben sind gleich. [code] def create_vgg19_c(batch_normalization=False, required_layers=None): base_model = VGG19(include_top=False, weights='imagenet', input_shape=(256, 256, 3)) base_model.trainable = True
if required_layers is None: required_layers = [2, 5, 8, 13, 18, 19]
outputs = [base_model.layers[i].output for i in required_layers] model = Model(inputs=base_model.input, outputs=outputs) return model
quantized_tflite_model = converter.convert() [/code] Ich habe versucht, die Werte zwischen [-128, 127] für int8 und zwischen [-1,1] für float32 zu normalisieren. Ich habe die Parameter des Konverters geändert, ich habe nur den Optimierer verwendet, aber die Skalierung und die gleichen Ergebnisse haben sich nicht geändert. Ich habe auch die Vorverarbeitungsfunktion geändert, aber nichts hat sich geändert. Ich möchte das vorab trainierte VGG19-Backbone mit bestimmten Ausgaben quantisieren.
Ich habe versucht, das von Google Auto ML Object Detection for Edge erhaltene Model TFLite zu verwenden. Mein Skript sieht so aus:
import pandas as pd
import tensorflow as tf
import numpy as np...
Ich habe ein Bildklassifizierungsmodell mit 46-Klasse unter Verwendung von Mobilenetv3-Large mit TensorFlow/Keras trainiert und es als ein .keras Modell gespeichert. Ich habe es in TFLite verwendete...
Ich habe versucht, dieses ONNX -Modell in den Tensorflow umzuwandeln, damit ich es in Tflite umwandeln kann, das ich dann in meiner Flutter -App verwenden werde
import onnx
Ich habe ein benutzerdefiniertes Tensorflow -Lite -Modell trainiert, das Palmlinien in einem Handbild erkennt - insbesondere die Lebenslinie, die Herzlinie, die Schicksalslinie usw. Das Modell...
Ich implementieren in PyTorch ein LSTM-Modell, um vorherzusagen, ob der Schlusswert einer Aktie in den nächsten 5 und 10 Minuten steigen oder fallen wird.
Konkret verwende ich 5-Minuten-Daten aus 24...