tflite: Conversión de operación no admitida: AddV2 FusedBatchNormV3

Tensorflow = 1.15.3 en el entorno de conda usado

El código de prueba es el siguiente:

import tensorflow as tf

tflite_path = 'test.tflite'
keras_path = 'test.h5'

bn = tf.keras.layers.BatchNormalization(
    # fused=False,
    input_shape = (128,128,3)
)

# Create model
k_model = tf.keras.models.Sequential()
k_model.add(bn)
k_model.save(keras_path)

# Convert keras model to tflite
converter = tf.lite.TFLiteConverter.from_keras_model_file(keras_path)
converter.experimental_new_converter = True
tflite_model = converter.convert()
open(tflite_path, 'wb').write(tflite_model)

会 报 Conversión de operaciones no admitidas: FusedBatchNormV3

ADDv2 es el mismo

-------------------------------

Después de buscar durante un día, finalmente descubrí que la razón era que la primera versión de tensorflow 1.13.1 se instaló en el entorno local , lo que provocó que toco siempre usara la versión 1.13.

Desinstale tensorlfow de esta máquina con la desinstalación de pip

(Los usuarios de Windows comprueban si hay alguno en AppData / Roaming / Python

 ubuntu revisa la papelera de inicio)

Luego desinstale tensorlfow en el entorno de conda, y luego reinstale, puede ver la información de instalación de toco:

¡Prueba de nuevo y listo!

Consejo: ¡Desarrolle en un entorno virtual! ! De lo contrario, el conflicto de versiones matará a la gente.

Supongo que te gusta

Origin blog.csdn.net/yxpandjay/article/details/108752852
Recomendado
Clasificación