nik*_*kis 5 machine-learning tensorflow tensorflow-lite
我有一个Tensorflow基于的模型BoostedTreesClassifier,我想借助Tensorflow Lite.
但是,当我尝试将我的模型转换为Tensorflow Lite模型时,我收到一条错误消息,指出存在不受支持的操作(截至Tensorflow v2.3.1):
tf.BoostedTreesBucketize
tf.BoostedTreesEnsembleResourceHandleOp
tf.BoostedTreesPredict
tf.BoostedTreesQuantileStreamResourceGetBucketBoundaries
tf.BoostedTreesQuantileStreamResourceHandleOp
Run Code Online (Sandbox Code Playgroud)
添加tf.lite.OpsSet.SELECT_TF_OPS选项有点帮助,但仍有一些操作需要自定义实现:
tf.BoostedTreesEnsembleResourceHandleOp
tf.BoostedTreesPredict
tf.BoostedTreesQuantileStreamResourceGetBucketBoundaries
tf.BoostedTreesQuantileStreamResourceHandleOp
Run Code Online (Sandbox Code Playgroud)
我也试过Tensorflow v2.4.0-rc3,这将集合减少到以下一个:
tf.BoostedTreesEnsembleResourceHandleOp
tf.BoostedTreesPredict
Run Code Online (Sandbox Code Playgroud)
转换代码如下:
converter = tf.lite.TFLiteConverter.from_saved_model(model_path, signature_keys=['serving_default'])
converter.target_spec.supported_ops = [
tf.lite.OpsSet.TFLITE_BUILTINS,
tf.lite.OpsSet.SELECT_TF_OPS
]
tflite_model = converter.convert()
Run Code Online (Sandbox Code Playgroud)
signature_keys明确指定,因为导出的模型BoostedTreesClassifier#export_saved_model具有多个签名。
除了为不受支持的 ops 编写自定义实现之外,有没有办法在移动设备上部署这个模型?
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |