首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenCV:从onnx文件加载网络的错误

OpenCV:从onnx文件加载网络的错误
EN

Stack Overflow用户
提问于 2022-05-17 13:35:06
回答 1查看 496关注 0票数 0

我试着用cv.dnn.readNetFromONNX加载一个预先训练好的torch模型(准确地说是U2Net),保存为onnx

但我收到了错误:

代码语言:javascript
运行
复制
error: OpenCV(4.1.2) /io/opencv/modules/dnn/include/opencv2/dnn/dnn.inl.hpp:349: 
 error (-204:Requested object was not found) Required argument "starts" not found 
 into dictionary in function 'get'

这是用Google再现错误的代码:

代码语言:javascript
运行
复制
### get U2Net implementation ###
%cd /content
!git clone https://github.com/shreyas-bk/U-2-Net

### download pre-trained model ###
!gdown --id 1ao1ovG1Qtx4b7EoskHXmi2E9rp5CHLcZ -O /content/U-2-Net/u2net.pth

###
%cd /content/U-2-Net

### imports ###
from google.colab import files
from model import U2NET
import torch
import os

### create U2Net model from state
model_dir = '/content/U-2-Net/u2net.pth'
net = U2NET(3, 1)
net.load_state_dict(torch.load(model_dir, map_location='cpu'))
net.eval()

### pass to it a dummy input and save to onnx ###
img = torch.randn(1, 3, 320, 320, requires_grad=False)
img = img.to(torch.device('cpu'))
output_dir = os.path.join('/content/u2net.onnx')
torch.onnx.export(net, img, output_dir, opset_version=11, verbose=True)

### load the model in OpenCV ###
import cv2 as cv
net = cv.dnn.readNetFromONNX('/content/u2net.onnx')

OpenCV => 4.1.2,Platform => Google,Torch => 1.11.0+cu113

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-18 06:47:07

正如@berak建议的那样,这个问题与OpenCV版本有关(为4.1.2)。更新到4.5.5解决了这个问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72275014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档