C++ torch::jit::load 导入 pytorch pt模型异常: c10::Error解决方法

折腾了一下午(擦眼泪),留个记录吧。

debug这条路细心、耐心缺一不可(洒完鸡汤,逃)

事件还原:

pytorch 用 Tracing 方法导出 pt 模型后在 vs 中准备使用【torch::jit::load】deserialize模型以作预测

顺利生成解决方案,但运行时一直报错:

可能原因:

libtorch版本【libtorch-gpu-cu100-1.2.0】

pytorch版本【torch-cu101-1.6.0】【torchvision-cu101-0.8.0】

对,没错,又是该死的版本兼容!!!(土拨鼠叫.gif)

解决方法:

torch & torchvision 历史whl版本下载

从上面链接中下载与 libtorch 同版本的 torch 和 对应的 torchvision

笔者下载的是【torch-1.2.0-cp36-cp36m-win_amd64.whl】和【torchvision-0.4.0-cp36-cp36m-win_amd64.whl】

(注:cp36 指 python 3.6)

重新 pip install 即可完美解决(一群土拨鼠叫.gif)