Mask-RCNN配置时需要切换CUDA和cudnn版本

最近在复现Mask-RCNN时,发现训练数据集的速度非常慢,后用nvidia-smi命令查看GPU使用情况,发现GPU并未使用。问题在于TensorFlow没有与CUDA、cudnn、gcc的版本对应。如下图所示。

 图片来源于官网:Build from source  |  TensorFlow (google.cn)

首先是CUDA和cudnn与tensorflow版本的对应

我用的服务器已经安装了多个版本的CUDA和cudnn,因此通过创建硬链接和软链接来切换CUDA和cudnn的版本,流程如下:

在.bashrc文件中添加环境变量(创建硬链接,告诉计算机到哪里找cuda)

export PATH="$PATH:/usr/local/cuda/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64"

别忘了source一下,刷新环境变量。

接下来创建软链接(即指定使用哪个版本的cuda)

sudo rm -rf /usr/local/cuda # 将原来的软链接删除,如果有的话。
sudo ln -s /usr/local/cuda-8.0 /usr/local/cuda # 将cuda-8.0,链接到cuda这个文件夹上(类似于快捷方式吧)
stat cuda 查看软链接的情况

创建好了软链接,就会出现上图所示的一个cuda快捷方式。

可以回到主目录下用命令查看是否软链接成功。

nvcc -V

 最后更改下gcc的版本

查看自己当前的gcc版本,查出来的版本为4.8.5

gcc -v

查看已安装的gcc版本有哪些

ls /usr/bin/gcc*

可以通过以下命令安装其他版本的gcc,比如gcc-7

 sudo add-apt-repository ppa:ubuntu-toolchain-r/test
 sudo apt-get update
 sudo apt-get install -y gcc-7 g++-7

具体可以参考博客:(5条消息) ubuntu系统查看gcc版本及版本切换_wongHome的博客-CSDN博客_显示gcc版本

有的时候训练训不动了,是因为有些僵尸进程占了GPU的内存

通过以下命令查看僵尸进程:

fuser -v /dev/nvidia *

kill -9 <进程号>    # 结束进程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值