华为计算微信公众号
昇腾AI开发者公众号
华为计算微博
华为计算今日头条
官方模型yolov8m.pt转为.onnx然后转为.tflite后,使用Mindspore Lite转为.ms报错失败
官方模型:https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8m.pt
模型转换代码
"""pt=>.onnx文件""" yolo export model=yolov8m.pt format=onnx
import onnx from onnx_tf.backend import prepare import tensorflow as tf # pb文件的存储路径 TF_PATH = "yolo8m_saved_model" # 要转换的onnx文件路径 ONNX_PATH = "yolov8m.onnx" # 输出的tflite文件路径 TFLITE_PATH = "yolov8m.tflite" """onnx=>.pb文件""" onnx_model = onnx.load(ONNX_PATH) tf_rep = prepare(onnx_model) tf_rep.export_graph(TF_PATH) """.pb=>tflite""" converter = tf.lite.TFLiteConverter.from_saved_model(TF_PATH) converter.optimizations = [tf.lite.Optimize.DEFAULT] converter.target_spec.supported_ops = [ tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS ] tf_lite_model = converter.convert() with open(TFLITE_PATH, 'wb') as f: f.write(tf_lite_model)
使用mindspore-lite转换报错
# /home/mindspore-lite-2.1.0-linux-x64/tools/converter/converter/converter_lite --fmk=TFLITE --modelFile=yolov8m.tflite --outputFile=yolov8m [ERROR] ME(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.805.395 [mindspore/lite/build/tools/converter/parser/tflite/tflite_op_parser.cc:1217] Parse] custom type : FlexSplitV is not supported [ERROR] ME(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.805.433 [mindspore/lite/build/tools/converter/parser/tflite/tflite_op_parser.cc:2566] ConvertOps] parse failed for node: CUSTOM-17 [ERROR] ME(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.805.441 [mindspore/lite/build/tools/converter/parser/tflite/tflite_op_parser.cc:2481] ConvertTfliteGraph] Convert ops failed. [ERROR] ME(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.805.507 [mindspore/lite/build/tools/converter/parser/tflite/tflite_op_parser.cc:2420] Parse] Convert tflite graph failed. [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.316 [mindspore/lite/tools/converter/converter_funcgraph.cc:96] Load3rdModelToFuncgraph] Get funcGraph failed for fmk: 4 [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.341 [mindspore/lite/tools/converter/converter_funcgraph.cc:170] Build] Load model file failed [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.347 [mindspore/lite/tools/converter/converter.cc:1025] HandleGraphCommon] Build func graph failed [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.356 [mindspore/lite/tools/converter/converter.cc:981] Convert] Handle graph failed: -1 Common error code. [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.361 [mindspore/lite/tools/converter/converter.cc:1168] RunConverter] Convert model failed [ERROR] LITE(2848071,7fc8482d6f40,converter_lite):2024-12-31-14:56:51.808.368 [mindspore/lite/tools/converter/cxx_api/converter.cc:334] Convert] Convert model failed, ret=Common error code. ERROR [mindspore/lite/tools/converter/converter_lite/main.cc:103] main] Convert failed. Ret: Common error code. Convert failed. Ret: Common error code.
本帖最后由 匿名用户 于 2024/12/31 15:18:24 编辑
我要发帖子
官方模型yolov8m.pt转为.onnx然后转为.tflite后,使用Mindspore Lite转为.ms报错失败
官方模型:https://github.com/ultralytics/assets/releases/download/v8.3.0/yolov8m.pt
模型转换代码
import onnx from onnx_tf.backend import prepare import tensorflow as tf # pb文件的存储路径 TF_PATH = "yolo8m_saved_model" # 要转换的onnx文件路径 ONNX_PATH = "yolov8m.onnx" # 输出的tflite文件路径 TFLITE_PATH = "yolov8m.tflite" """onnx=>.pb文件""" onnx_model = onnx.load(ONNX_PATH) tf_rep = prepare(onnx_model) tf_rep.export_graph(TF_PATH) """.pb=>tflite""" converter = tf.lite.TFLiteConverter.from_saved_model(TF_PATH) converter.optimizations = [tf.lite.Optimize.DEFAULT] converter.target_spec.supported_ops = [ tf.lite.OpsSet.TFLITE_BUILTINS, tf.lite.OpsSet.SELECT_TF_OPS ] tf_lite_model = converter.convert() with open(TFLITE_PATH, 'wb') as f: f.write(tf_lite_model)使用mindspore-lite转换报错