关于libtorch,网络模型导入导出的问题,在c++中load报错,请问应该怎么检查,是什么原因呢?

在pycharm将训练好的网络模型加载号后,创建一个example输入,使用torch.jit.trace 保存的模型和torch.jit.script保存的模型都出现了torch::jit::Errorreport错误,是网路模型内部出现了其他不属于torch的变量导致的吗

c++代码
###
torch::jit::script::Module module;
//module = torch::jit::load("./resNetFpn-model-14_jit.pt");
module = torch::jit::load("./resNetFpn-model-14_jitscript.pt");###

运行结果及报错内容

img

try catch异常捕捉结果

```
10
[ CPULongType{} ]
cuda::is_available():0
cudNN::is_available():0

Unknown builtin op: torchvision::nms.
Could not find any similar ops to torchvision::nms. This op may not exist or may not be currently supported in TorchScript.
:
File "boxes.py", line 35
by NMS, sorted in decreasing order of scores
"""
return torch.ops.torchvision.nms(boxes, scores, iou_threshold)
~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE

```c++

确认下你导出的模型是CPU还是GPU的,然后再libtorch种指定推理引擎的时候需要跟模型一致。(✔)

首先确认下你的libtorch版本是cpu还是GPU的,你导出的模型要对应才行,也就是说libtorch是cpu的版本,你的模型应该导出cpu,gpu的对应(X)。

其次,你在python下加载下你的torchscript.pt模型看下能不能正确加载。libtorch版本最好和pytorch版本号一致。

可能是版本不兼容的问题,参考如下:

历史版本下载链接

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632