转换TensorFlow模型为TFLite时无TFliteConverter属性是LSTM导致的吗?
报错排查结果
该报错和模型中使用LSTM结构无任何关联,是API名称拼写错误导致的。
TensorFlow对API大小写敏感,你代码中使用的TFliteConverter是错误写法,正确的转换器类名为TFLiteConverter(注意第二个字母是大写L,不是小写的l)。
修正后转换代码
converter = tf.lite.TFLiteConverter.from_keras_model(model) converter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE] tflite_model = converter.convert() open(tflite_model_name + '.tflite', 'wb').write(tflite_model)
可选补充说明
如果修正拼写后转换LSTM结构时出现新的报错,可通过开启Select TensorFlow Ops支持解决,在转换前添加如下配置即可:
converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS]
内容的提问来源于stack exchange,提问作者Sam Mertens
相关产品推荐
相关产品推荐

