Eingabeskala des quantisierten TFLite-ModellsPython

Python-Programme
Guest
 Eingabeskala des quantisierten TFLite-Modells

Post by Guest »

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: Select all

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.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post