将ONNX模型转换为Tensorflow Lite - 不支持pytorch_half_pixel
我正在尝试把我的ONNX模型转换成Tensorflow Lite格式。代码很简单,但出现了这个错误。我更新了我的onnx版本,但还是没用。
import onnx
import tensorflow as tf
import onnx_tf
#
#
# README: This file converts an onnx model to tflite
#
#
#
onnx_model_path = '/home/sfrye/segmentation/segmentation_checkpoints/efficientnet/modified-new.onnx'
onnx_model = onnx.load(onnx_model_path)
tf_model = onnx_tf.backend.prepare(onnx_model)
tf_model.export_graph("tflite_model.tf")
这是错误信息
RuntimeError: in user code:
File "/home/sfrye/miniconda3/envs/mars_env/lib/python3.8/site-packages/onnx_tf/backend_tf_module.py", line 99, in __call__ *
output_ops = self.backend._onnx_node_to_tensorflow_op(onnx_node,
File "/home/sfrye/miniconda3/envs/mars_env/lib/python3.8/site-packages/onnx_tf/backend.py", line 347, in _onnx_node_to_tensorflow_op *
return handler.handle(node, tensor_dict=tensor_dict, strict=strict)
File "/home/sfrye/miniconda3/envs/mars_env/lib/python3.8/site-packages/onnx_tf/handlers/handler.py", line 58, in handle *
cls.args_check(node, **kwargs)
File "/home/sfrye/miniconda3/envs/mars_env/lib/python3.8/site-packages/onnx_tf/handlers/backend/resize.py", line 125, in args_check *
exception.OP_UNSUPPORTED_EXCEPT(
File "/home/sfrye/miniconda3/envs/mars_env/lib/python3.8/site-packages/onnx_tf/common/exception.py", line 50, in __call__ *
raise self._func(self.get_message(op, framework))
RuntimeError: Resize coordinate_transformation_mode=pytorch_half_pixel is not supported in Tensorflow.
我尝试更新我的onnx,因为这样解决了其他人遇到的同样错误。
1 个回答
0
虽然不是完全一样的情况,但我之前遇到过类似的问题,我是通过在我的 Upsampling2D
层里明确设置 interpolation=bilinear
来解决的。你可以检查一下你使用的任何缩放层。不过,这样做可能需要重新训练模型。