1.芯片型号 :X3派
2.天工开物开发包OpenExplorer版本 :XJ3_OE_2.5.2
3.问题定位 :模型转换为onnx没有报错,但是也没有生成onnx模型
4.问题具体描述 :
使用export_onnx.py脚本执行以下命令
python3 tools/export_onnx.py --config configs/segmentation/unet.py --ckpt float-checkpoint-best.pth.tar --onnx-name unet.onnx
没有报具体错误,也没有生成onnx模型,终端输出的信息感觉有用的如下:
/horizon_plugin_pytorch/nn/interpolate.py:69: UserWarning: default upsampling behavior when mode=bilinear is changed to align_corners=False since torch 0.4.0. Please specify align_corners=True if the old behavior is desired.
warnings.warn(
输出到这里就戛然而止了。
我以为是路径配置问题,又使用如下命令,还是一样。
python3 tools/export_onnx.py --config configs/segmentation/unet.py --ckpt tmp_models/dwunet_seg/float-checkpoint-best.pth.tar --onnx-name tmp_models/dwunet_seg/unet.onnx
所以如何将float-checkpoint-best.pth.tar转化为onnx模型?
颜值即正义
2023 年5 月 18 日 07:01
2
颜值即正义
2023 年5 月 18 日 06:43
3
您好,请在configs/segmentation/unet.py代码中增加以下onnx_cfg关键字,然后再使用export_to_onnx.py导出-
onnx_cfg = dict(-
model=deploy_model,-
stage=“float”,-
inputs=deploy_inputs,-
model_convert_pipeline=dict(-
type=“ModelConvertPipeline”,-
converters=[-
dict(-
type=“LoadCheckpoint”,-
checkpoint_path=os.path.join(-
ckpt_dir, “float-checkpoint-best.pth.tar”-
),-
ignore_extra=True,-
),-
],-
),-
)-
onnx_cfg = dict(-
model=deploy_model,-
stage=“float”,-
inputs=deploy_inputs,-
model_convert_pipeline=float_predictor[“model_convert_pipeline”],-
)
这是configs/segmentation/unet.py代码中原来的onnx_cfg关键字,我将其注释掉。
加上
onnx_cfg = dict(
model=deploy_model,
stage=“float”,
inputs=deploy_inputs,
model_convert_pipeline=dict(
type=“ModelConvertPipeline”,
converters=[
dict(
type=“LoadCheckpoint”,
checkpoint_path=os.path.join(
ckpt_dir, “float-checkpoint-best.pth.tar”
),
ignore_extra=True,
),
],
),
)
但是问题还是和原来一样。
颜值即正义
2023 年5 月 18 日 07:38
5
您好,请查看您的工作空间,我这边修改了config文件中的**ckpt_dir = “../release_models/%s” % task_name,**然后运行python3 tools/export_onnx.py --config configs/segmentation/unet.py,成功在/release_models/dwunet_seg文件夹下生成了float.onnx,请检查你的workspace是否已有onnx生成,另外,输出到warnings.warn并不是出错了,而是已经生成了onnx
好的,谢谢,确实可以生成float.onnx,我以为加上–onnx-name unet.onnx这个会生成unet.onnx,不会重复的,原来是这个没用。