尝试一天终于完成,原来一轮训练需要15个小时使用GPU20多分钟。

环境:Ubuntu16.0.4; nvidia-smi 396 ;

安装 :python 3.6 + cuda 9.0 + cudnn7.4.1 + tensorflow-gpu1.12.0 + keras2.2.4

 

1.注册 百度的AI studio平台


 

完成任务(两三分钟)可以获得100小时的GPU

地址 https://aistudio.baidu.com/    (创建项目,上传数据集,启动项目很快就能学会使用)

 

 启动环境进入终端

 

 2.开始配置cuda cudnn


 

少走弯路:先确定cuda 版本,再选择对应版本的cudnn 和 tf;

2.1查看显卡驱动


 

nvidia-smi 

 2.2查看驱动对应的cuda版本 


 

地址:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

 注:显卡驱动是向下兼容的,平台的驱动是396,无法安装cuda10;所以选择cuda9.

2.3.选择cudnn 版本


 

 查看cuda cudnn 对应版本 https://tensorflow.google.cn/install/source#linux

 注:最终选择 cudnn 7 好 tf-1.12.0;  

3.安装


 

3.1 下载 cudnn 

cudnn下载地址:https://developer.nvidia.com/rdp/cudnn-archive  需要注册登录

cudnn 需要和linux系统版本对应 查看linux版本

 

 3.2 上传数据集

下载cudnn 之后改个短的名字通过studio 平台中的项目

如果项目已经创建可以选择修改上传数据集

上传之后的数据在~/data目录下

 

 

 

3.3  下载cuda9.0

wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run

新建一个目录 : mkdir cuda-9.0

安装cuda :  sh cuda_9.0.176_linux-run –silent –toolkit –toolkitpath=$HOME/cuda-9.0

3.4 安装cudnn 

mkdir -p extract/DEBIAN
dpkg -X ./xxx.deb extract
dpkg -e ./xxx.deb extract/DEBIAN

cp extract/usr/include/x86_64-linux-gnu/cudnn_v7.h  cuda-9.0/include/
cp extract/usr/lib/x86_64-linux-gnu/libcudnn*  cuda-9.0/lib64/

3.5 配置环境

vi ~/.bashrc

export PATH=/home/aistudio/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/aistudio/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/home/aistudio/cuda-9.0

source  ~/.bashrc

3.6 新建虚拟环境

conda create -n env_name python=3.6

source activate env_name

3.7 安装 tensorflow-gpu

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.12.0

3.8 修改权限

chmod a+r ~/cuda-9.0/include/cudnn_v7.h
chmod a+r ~/cuda-9.0/lib64/libcudnn*

3.9 验证

 4.可能会遇到的问题


 

4.1 libcudnn.so.版本: cannot open shared object file: No such file or directory

原因之一是由于cudnn 和cuda版本不兼容导致解决办法根据前面描述确定好对应的版本重新安装

原因二环境变量的问题,按照教程配置环境变量并source

/home/aistudio/cuda-9.0/include/cudnn.h 如果是这个地方的错误,去看看对应目录下是名字是否一致,可能不是cudnn.ch,不同版本不一样比如cuda9.0 可能是cudnn_v7.h

4.2 cudaErrorCudartUnloading CUDA: CUDA driver version is insufficient for CUDA runtime version

显卡驱动和cuda版本兼容问题 见前。解决办法其一:降低cuda到适用版本重新安装。其二:升级驱动(没尝试)

4.3 如果安装keras 报错

AttributeError: module \’tensorflow.python.keras.backend\’ has no attribute \’get_graph\’

keras和tf版本兼容问题 查看 https://docs.floydhub.com/guides/environments/

5. 其他


 

5.1 卸载cuda

cuda-9.0/bin/uninstall_cuda_9.0.pl

5.2 卸载 cudnn

sudo rm -rf ~/cuda-9.0/include/cudnn_v7.h
sudo rm -rf ~/cuda-9.0/lib64/libcudnn*

 6.  保存AIstudio中的conda环境

配置好虚拟环境之后压缩

conda info –env
tar -zcvf /destination/path/env_nmae.gz /envs/env_name
重启aistudio后,解压压缩的虚拟环境
tar -zxvf env_name.tar.gz
conda create -n new_env –clone /解压路径/env_name

参考https://blog.csdn.net/firesolider/article/details/105023062

版权声明:本文为pergrand原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pergrand/p/12803742.html