conda create -n tf_1.14 python=3.6
激活自己的环境
source activate tf_1.14
注意:cuda和cudnn版本需要tensorflow-gpu1.14相对应。
2.1查看cuda版本
(1)通过命令查看:nvcc -V 或者是nvcc --version都可以,但前提是添加了环境变量
(2)通过文件查看:cat /usr/local/cuda/version.txt
得到cuda版本是10.1 ,而tensorflow1.14对应的是10,接下来我会安装cuda10.0
2.2查看 cuDNN 版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果没有,那么可能没有安装 cuDNN,需要下载安装。
3.1 下载安装cuda10.0
如果cuda版本未对应,可以删除线格式 利用pytorch来安装想要的cuda版本
[找好pytorch与cuda的对应关系] (https://pytorch.org/get-started/previous-versions/)
conda install pytorch1.2.0 torchvision0.4.0 cudatoolkit=10.0 -c pytorch
cuda下载地址
sudo sh cuda_10.0.130_410.48_linux.run
开始安装,出现非常长的用户协议,别一点点按回车,要按非常久,直接按q退出。
安装选项按下面操作:
![(https://img-blog.csdnimg.cn/6de0adbfa13046f98bf21adb55c0117b.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5ZOq6YO96YCa5Li05pe25ZGY5bel,size_12,color_FFFFFF,t_70,g_se,x_16)
以下是安装选项解答,可跳过。
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
(y)es/(n)o/(q)uit: n
#问要不要安装显卡驱动,建议使用独立下载的相应的显卡驱动安装,这个驱动是公用版的,而且不是最新的,可能有问题。
Install the CUDA 10.0 Toolkit?
(y)es/(n)o/(q)uit: y
#问要不要安装CUDA10.0
Enter Toolkit Location
[ default is /usr/local/cuda-10.0 ]:
#问CUDA的安装路径,回车即代表使用默认地址,也可以输入你想指定的路径。
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
#问是否建立软链接,一般选y。
#但如果你是安装多版本CUDA,而这是第二个,就可以自己决定要不要建立了。
Install the CUDA 10.0 Samples?
(y)es/(n)o/(q)uit: n
#问要不要安装CUDA项目实例,一般选n,没啥用还占地方。
3.2.安装cuDNN
点击在官网下载cuDNN
由于官网下载要求先注册Nvidia,比较麻烦,可以参考:
绕过Nvidia官方要求的注册或登陆步骤直接下载cuDNN的方法
tensorflow 2.x不再区分是否gpu,当检测到gpu并安装cuda后,会自动调用gpu。若要使用cpu,可用tensorflow-cpu。
3.3.配置环境变量
执行命令
vim ~/.bashrc
增加环境变量
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
使环境变量生效
source ~/.bashrc
注意:激活环境变量会回到外部环境,要激活自己的环境tf_1.14
如果是为了使用 PyTorch/TensorFlow,在 Linux 服务器上推荐使用 conda 安装,使用 conda 可以很方便安装 PyTorch/TensorFlow 以及对应版本的 CUDA 和 cuDNN。
安装用pip指令的话会出现很多奇怪的问题。用conda指令安装的过程比较缓慢,需要耐心等待。
conda install tensorflow-gpu==1.14.0
参考链接
pip install keras==2.2.5
6.1查看cuda版本
nvcc -V
或cat /usr/local/cuda/version.txt
6.2查看 cuDNN 版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
6.3查看cpu、gpu可使用设备情况
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
6.4查看tensorflow-gpu是否能正常使用
import tensorflow as tf
print(tf.__version__)
print(tf.__path__)
a = tf.test.is_built_with_cuda()
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
)
print(a)
print(b)
if tf.test.gpu_device_name():
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
else:
print("Please install GPU version of TF")
7.1 Could not dlopen library 'libcudnn.so.7’
到cuda的lib64目录,默认的是/usr/local/cuda/lib64,找到自己安装的cudnn的版本对应的ibcudnn.so
建立软链接( 或者直接把libcudnn.so.7.4.1改名为libcudnn.so.7)
sudo ln -sf libcudnn.so.7.4.1 libcudnn.so.7
加载动态库
sudo ldconfig /usr/local/cuda/lib64
7.2、libcudnn.so.7 is not a symbolic link
找不到软链接,到cuda的lib64目录,默认的是/usr/local/cuda/lib64,建立软链接
cd /usr/local/cuda/lib64
sudo ln -sf libcudnn.so.7 libcudnn.so
7.3 安装多版本CUDA
假设都是默认的安装路径/usr/local/,现在安装了两个版本的CUDA
/usr/local/cuda-10.0
/usr/local/cuda-10.1
查看当前cuda软链接指向的是哪个版本
stat /usr/local/cuda
切换版本
建立需要切换版本的软链接,替换现有的软链接
sudo ln -sf /usr/local/cuda-10.1 /usr/local/cuda