colab中用tensorflow-1.14.0的gpu版本训练数据集

本人在跑一个人脸识别的项目时,在自己的笔记本上配置好了cuda9.0和cudnn后还是无法运行,原因是此代码不能在Windows系统上运行,于是千辛万苦在Google Drive上克隆了GitHub上的源代码尝试,以为也要下载与电脑版本对应的cuda9.0等,发现一直报错,提示libcudart.so.9.0:cannot open shared object file。最后才发现人家Google Drive自带了cuda10.1,查看的代码如下:

!cat /usr/local/cuda/version.txt
# 输出:CUDA Version 10.1.243

然后我觉得我应该还要与电脑匹配,于是乎又把cuda降级到9.0版本,代码如下:

!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
!apt-get update
!apt-get install cuda=9.0.176-1

然后我按照GitHub上的安装要求,又安装了tensorflow==1.14.0的gpu版本(colab上安装时需要将笔记本设置更改为gpu模式,否则会报错,好像是自带的属性一样),发现再一次报错:

MXNetError: [01:23:15] src/operator/nn/./cudnn/cudnn_convolution-inl.h:155: Check failed: e == CUDNN_STATUS_SUCCESS (8 vs. 0) : cuDNN: CUDNN_STATUS_EXECUTION_FAILED 

然后又去查询,发现tensorflow的gpu版本需要一些支持,如tensorflow官网所说

TensorFlow GPU 支持需要各种驱动程序和库。为了简化安装并避免库冲突,建议您使用支持 GPU 的 TensorFlow Docker 映像(仅限 Linux)。此设置仅需要 NVIDIA® GPU 驱动程序

然后再点击链接,就会发现如下的图:

所以,我现在应该要再去修改,把cuda降级到10.0的版本,因为好像看到有人说tensorflow的1.14.0版本最好匹配cuda10.0,否则会有发生报错的风险。

好啦!果然版本要对应起来,我把cuda降级到10.0是用到了这篇大佬的代码,请移步:https://www.stacknoob.com/s/nTWgcgsnykxDbgTq7XfsV2。然后记得下载mxnet时更新到cuda=10.0的版本哦。

!pip install mxnet-cu100
import mxnet as mx  

一般可以在安装完之后import试试,如果报错就继续改,否则代入最终的代码也会卡住。

给大家看看我最终的输出结果,是输出了两张人脸的图像质量:

太激动啦!哈哈哈哈。

猜你喜欢

转载自blog.csdn.net/weixin_44987948/article/details/109090719