tensorflow cuda cudnn版本对应_基于多版本cuda及cuDNN在Ubuntu18.04安装Pytorch与TensorFlow...

c06560ca8f45651b4fbd605afe3a04de.png

阅读此文前,请先阅读以下教程,明白Pytorch的安装过程。

爱吃鱼:在Ubuntu18.04上搭建Pytorch深度学习环境​zhuanlan.zhihu.com
492f3792a06f02ea230d1aefc0d9a5b8.png

背景

出于复现他人代码的需要,有时候我们需要在系统里安装不同版本的pytorch或者tensorflow深度学习框架。而多数情况下,这些框架不同版本之间的兼容性并不是太好,即我们无法在同一个conda虚拟环境里复现其他作者的代码结果。因此,知晓如何在系统里安装pytorch与tensorflow,并使之正常工作就显得尤为必要。

本文基于以上教程,在Ubuntu18.04安装了pytorch1.5,并参考了网络上的各种教程,安装了tensorflow 1.12,成功跑通代码。

硬件

  1. CPU: Intel Core i7-4710HQ(对,你没有看错,这是一颗移动U,被魔改到B85平台……华强北赛高)
  2. GPU: Nvidia GTX1660 super
  3. RAM: 8G*2
  4. 芯片组:B85

软件

  • pytorch_v1.5所需cuda库:cuda_10.1.105_418.39_linux.run, cuDNN-10.1-linux-x64-v8.0.3.33.tgz,
  • tensorflow_v1.12所需cuda库:cuda_9.0.176_384.81_linux-run, cudnn-9.0-linux-x64-v7.tgz

注:tensorflow各版本有严格的python, gcc, CUDA, cuDNN版本要求,下载时需注意。

https://www.tensorflow.org/install/source#tested_build_configurations​www.tensorflow.org

下载以上文件下载地址:

cuda文件:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=runfilelocal​developer.nvidia.com

cuDNN文件:

cuDNN Archive​developer.nvidia.com

注:下载cuDNN需要注册英伟达账号。


必要步骤:

step1 按照教程安装CUDA 10.1 与cuDNN 8.0.3.33

step 2 查看本机cuda版本

输入指令:"nvidia-smi",以查看本机Driver Version,CUDA Version:

07617bc3789a369c0cc1f58f7d47de64.png

输入指令:"nvcc -V",以查看CUDA runtime api:

19d710a159e856b36ca24ec4726ccc41.png

可以看到,nvcc -V的结果与nvidia-smi的结果并不一致,这是因为CUDA有两个主要API,runtime api, driver api,nvidia-smi返回的是driver-installer安装的CUDA库,而nvcc -V返回的是由CUDA toolkit installer安装的cuda库。(搭建pytorch环境时,先安装的显卡驱动,再安装cuda-10.1时,并未安装driver,从这里导致以上两指令返回结果不一致)

665bc9a01ae1e4bdf150145f47cbd3cb.png

只需要知道,driver api与runtime api之间没有联系。通常情况下,nvidia-smi的CUDA version大于nvcc -V的CUDA version并不会引起什么问题。

step3 安装必要文件

输入指令: "sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev"

安装gcc 6,输入指令: "sudo apt install gcc-6", "sudo apt install g++-6"

step4 安装cuda 9.0

  1. cd到您存储cuda_9.0.176_384.81_linux-run的文件夹,输入指令: "chmod +x cuda_9.0.176_384.81_linux-run", "sudo ./cuda_9.0.176_384.81_linux-run --override".

注意:安装过程中千万不要安装显卡驱动;当询问"Install the CUDA 9.0 Toolkit?"选择"yes";选择默认安装位置;拒绝添加symbolic link(yes此操作会将系统的cuda指向新安装的版本)

2. 配置CUDA相关环境变量(Pytorch安装教程已经设置,略去)

至此,CUDA9.0库已经安装到系统之中。

step5 切换系统默认CUDA版本

step4所做的只是在系统中安装了CUDA 9.0库,并没有将系统CUDA指向9.0版本,此时默认指向CUDA 10.1。切换步骤如下:

打开终端,输入指令:"cd /usr/local", "sudo rm -rf cuda", (清除原有软链接)"sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda"(建立新的指向CUDA 9.0的软链接)

输入指令:"nvcc -V"以查看当前CUDA指向的是哪个版本,不出意外应为如下结果。

16aca139c7afa23d517231ddbc8b0408.png

step6 安装cuDNN 7

cd到您所存储cudnn-9.0-linux-x64-v7.tgz的文件夹,并解压。注意千万不要和cuDNN-10.1-linux-x64-v8.0.3.33.tgz解压路径一致,否则两者会相互覆盖。

继续输入指令:

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*
sudo cp cuda/include/cudnn.h   /usr/local/cuda-9.0/include 
sudo cp /cuda/lib64/libcudnn*   /usr/local/cuda-9.0/lib64
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h    /usr/local/cuda-9.0/lib64/ibcudnn*

这时便将cuDNN 7的头文件复制到CUDA 9.0中。

step7 安装tensorflow-v1.12

  1. 创建conda虚拟环境:"conda create -n tf1.12 python=3.6"

2. 激活虚拟环境tf1.12:"conda activate tf1.12"

3. 安装tensorflow-gpu包:"conda install tensorflow-gpu=1.12"

4. 输入指令:"conda list" 以查看当前虚拟环境是否成功安装库。不出意外,应有以下输出:

6d91d0e2839607817c4bb6a265e19ee4.png

5. 检验tensorflow是否能够调用GPU:tf1.12虚拟环境输入指令"python",输入代码:

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

若检测到GPU,即有以下结果,则tensorflow可成功调用GPU运算。

ff0e0fb7f2610c535d05ef6f4aefecfa.png

step8 系统切换回CUDA 10.1

  1. 输入指令:"cd /usr/local", "sudo rm -rf cuda"(清除原有软链接), "sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda"(建立新的指向CUDA 10.1的软链接)

2. 输入指令: "nvcc -V"以查看系统CUDA runtime api,若输出为cuda 10.1则切换成功。


至此,pytorch与tensorflow已成功在ubuntu 18.04安装成功,并且可以调用各自对应的CUDA版本。

为保证程序的稳定运行,通常建议复现一个工程对应一个环境,这样将库的干扰做到最小。

参考:

https://medium.com/@patrickorcl/install-cuda-10-and-cudnn-on-ubuntu-18-b28b59bae279​medium.com https://medium.com/@yifanguo1129/install-cuda-9-0-and-cudnn-7-2-on-ubuntu-18-04-d9a7aeb89105​medium.com ubuntu18.04 安装多版本cuda(原9.0,新安装10.0),并随时切换使用​blog.csdn.net
f8e159afeb419078e5a8ded7e10c1083.png
王椗:Ubuntu18.04,安装多版本CUDA和cuDNN,并进行切换​zhuanlan.zhihu.com
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值