使用OpenCV dnn模块在Jetson Nano上获得CUDNN_STATUS_EXECUTION_FAILED错误

时间:2020-06-26 09:41:54

标签: nvidia-jetson nvidia-jetson-nano

我正在关注其中一个在线教程,但出现此错误:

跟踪(最近一次通话结束): 文件“ ssd_object_detection.py”,第20行,在 检测数= net.forward() cv2.error:OpenCV(4.3.0)/home/blah/opencv/modules/dnn/src/layers/.../cuda4dnn/primitives/.../csl/cudnn/convolution.hpp:461:错误:(-217:Gpu API调用)在函数'convolve_with_bias_activation'中的CUDNN_STATUS_EXECUTION_FAILED

这是一个python脚本,我使用带有预训练模型的Opencv dnn模块

这是我的配置:

Jetson Nano device
Ubuntu 18.04
/usr/local/cuda/bin/nvcc --version
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2019 NVIDIA Corporation
Built on Wed_Oct_23_21:14:42_PDT_2019
Cuda compilation tools, release 10.2, V10.2.89

    – NVIDIA CUDA: YES (ver 10.2, CUFFT CUBLAS FAST_MATH)
    – NVIDIA GPU arch: 53
    – NVIDIA PTX archs:
    – cuDNN: YES (ver 8.0)
    – NVIDIA CUDA: YES (ver 10.2, CUFFT CUBLAS FAST_MATH)
    – NVIDIA GPU arch: 53
    – cuDNN: YES (ver 8.0)

opencv 4.3.0 built from source with OPENCV_DNN_CUDA=ON, CUDNN_VERSION=‘8.0’, WITH_CUDA=ON, WITH_CUDNN=ON, and many other settings enabled
Python 3.7.7

这是我要运行的代码的一部分(如果我不使用GPU,它将成功完成)。它在行检测= net.forward()时失败

CLASSES = [“background”, “aeroplane”]
COLORS = np.random.uniform(0, 255, size=(len(CLASSES), 3))

net = cv2.dnn.readNetFromCaffe(args[“prototxt”], args[“model”])
print("[INFO] setting preferable backend and target to CUDA…")
net.setPreferableBackend(cv2.dnn.DNN_BACKEND_CUDA)
net.setPreferableTarget(cv2.dnn.DNN_TARGET_CUDA)

print("[INFO] accessing video stream…")
vs = cv2.VideoCapture(args[“input”] if args[“input”] else 0)
writer = None
fps = FPS().start()

while True:
(grabbed, frame) = vs.read()
frame = imutils.resize(frame, width=400)
(h, w) = frame.shape[:2]
blob = cv2.dnn.blobFromImage(frame, 0.007843, (300, 300), 127.5)
net.setInput(blob)
detections = net.forward()

for i in np.arange(0, detections.shape[2]):
....

0 个答案:

没有答案