cudnn 错误:: CUDNN_STATUS_SUCCESS(1 与 0)CUDNN_STATUS_NOT_INITIALIZED

问题描述 投票:0回答:2

我正在尝试安装一个开源软件“openpose”,我需要为其安装 cuda、cudnn 和 nvidia 驱动程序。 nvidia-smi 的输出是:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.59       Driver Version: 440.59       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 940MX       Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P8    N/A /  N/A |    107MiB /  2004MiB |      7%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1513      G   /usr/lib/xorg/Xorg                            63MiB |
|    0      1698      G   /usr/bin/gnome-shell                          41MiB |
+-----------------------------------------------------------------------------+

cat /usr/include/cudnn.h | grep CUDNN_MAJOR -A 2
的输出给出:

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5

成功安装上述所有软件和库后,我终于运行了openpose 与:

./build/examples/openpose/openpose.bin --video examples/media/video.avi

但是输出是:

Starting OpenPose demo...
Configuring OpenPose...
Starting thread(s)...
Auto-detecting all available GPUs... Detected 1 GPU(s), using 1 of them starting at GPU 0.
F0214 01:02:35.327615  3433 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (1 vs. 0)  CUDNN_STATUS_NOT_INITIALIZED
*** Check failure stack trace: ***
    @     0x7fabb8f390cd  google::LogMessage::Fail()
    @     0x7fabb8f3af33  google::LogMessage::SendToLog()
    @     0x7fabb8f38c28  google::LogMessage::Flush()
    @     0x7fabb8f3b999  google::LogMessageFatal::~LogMessageFatal()
    @     0x7fabb89459d3  caffe::CuDNNConvolutionLayer<>::LayerSetUp()
    @     0x7fabb8a42308  caffe::Net<>::Init()
    @     0x7fabb8a441e0  caffe::Net<>::Net()
    @     0x7fabbaa2ccaa  op::NetCaffe::initializationOnThread()
    @     0x7fabbaa500a1  op::addCaffeNetOnThread()
    @     0x7fabbaa51518  op::PoseExtractorCaffe::netInitializationOnThread()
    @     0x7fabbaa57163  op::PoseExtractorNet::initializationOnThread()
    @     0x7fabbaa4be61  op::PoseExtractor::initializationOnThread()
    @     0x7fabbaa46a51  op::WPoseExtractor<>::initializationOnThread()
    @     0x7fabbaa8aff1  op::Worker<>::initializationOnThreadNoException()
    @     0x7fabbaa8b120  op::SubThread<>::initializationOnThread()
    @     0x7fabbaa8d2d8  op::Thread<>::initializationOnThread()
    @     0x7fabbaa8d4a7  op::Thread<>::threadFunction()
    @     0x7fabba32566f  (unknown)
    @     0x7fabb9a476db  start_thread
    @     0x7fabb9d8088f  clone
Aborted

我在网上进行了很多讨论,但不知道如何解决这个问题。

nvidia openpose
2个回答
6
投票

我在 CUDNN 上也遇到了同样的问题。

虽然不理想,但我一直在没有 CUDNN 的情况下运行。在cmake-gui中取消选中USE_CUDNN然后编译。运行 openpose 时,我还必须减少 -net_resolution。

例如:./build/examples/openpose/openpose.bin -net_resolution 256x192 分辨率越高,FPS 越慢。


0
投票

根据this,您的GPU可能缺乏内存空间,而对于this,您可能需要添加不同版本的

cudnn
(要安装,您可以检查this)。

如果你不关心应用程序的响应时间,大多数时候你可能会构建你的应用程序在CPU上运行,从而完全避免此类问题..

© www.soinside.com 2019 - 2024. All rights reserved.