Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0) CUDNN_STATUS_INTERNAL_ERROR

1、服务器上cuda8.0和cudnn已经配置好, 后来遇到问题,又反复验证了好几次!

2、安装和编译caffe,可参考 Install Caffe With Anaconda

3、编译完caffe,测试和运行项目代码,遇到问题:

F0611 23:50:58.608871 26609 cudnn_conv_layer.cpp:53] Check failed: status == CUDNN_STATUS_SUCCESS (4 vs. 0)  CUDNN_STATUS_INTERNAL_ERROR
*** Check failure stack trace: ***
Aborted (core dumped)

这个错误原因网上有很多说法。具体问题具体分析吧,我这是应为没有权限造成的,需要加上sudo。

详细说明下我的情况:

1、我python2.7是使用anaconda安装的,python2.7解释器的路径 是/home/lsz/anaconda2/bin/python2.7, 在我具体项目中使用如下命令运行报错:

python testBatchModel.py input.txt out/

此命令中的python, 就是 /home/lsz/anaconda2/bin/python2.7, 

我这情况有些特殊,直接使用: sudo python testBatchModel.py input.txt out/ , 出现 没有caffe包的错误。

是因为, sudo python 调用的是 /user/local/bin/python , 两者调用的不是同一个python解释器。

如果使用: sudo /home/lsz/anaconda2/bin/python2.7 testBatchModel.py input.txt out/, 则不会报错。

2、由于我是使用pycharm远程使用服务器的python解释器, 只需要使pycharm在使用服务器上的 /home/lsz/anaconda2/bin/python2.7解释器时 具有sudo权限即可。 解决方法:

可参考:  以 Root权限运行/调试 PyCharm

更理想的情况应该是以普通用户启动pycharm,运行/调试时 使用root权限,下面说下怎么实现:

1.设置python解释器默认以sudo方式启动,且免密码输入:

sudo visudo -f /etc/sudoers.d/python

在文件中输入如下文字

<user> <host> = (root) NOPASSWD: <full path to python>

我是的是输入:

lsz ALL = (root) NOPASSWD: /home/lsz/anaconda2/bin/python2.7

lsz: 是用户名

2.创建一个脚本文件(如python2.7_sudo.sh),以sudo方式启动python解释器,文件内容参考如下(放在什么位置都行):

#!/bin/bash
sudo xxx/venv/bin/python "$@"

此处我写的是:

#!/bin/bash

sudo /home/lsz/anaconda2/bin/python2.7  "$@"

 

修改文件权限为可执行 

chmod +x python2.7_sudon.sh

3.使用python2.7_sudon.sh作为pycharm的解释器.

启动pycharm,打开工程,选择菜单命令Preferences — Project Interpreter,选择Project Interpreter右边的齿轮图标,在弹出菜单中选择SSH Interpreter(我的是远程使用的),输入IP密码我就不说了,直接在选择解释器的时候,选择 创建的python2.7_sudon.sh,确定后即可。

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值