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.