Ubuntu16.04 TensorFlow2.0.0安装的注意事项(CPU/GPU-RTX2060)

  1. 这篇文章的主要内容是:安装TensorFlow2过程中出现的问题及解决方案
  2. 如果你系统有多个cuda版本或者Tesla(需要专门的显卡驱动),可以供参考,因为这些情况笔者没有操作过,不能乱讲。下面针对大众化的GeForce显卡的安装
  3. 笔者显卡是RTX2060,如果你和笔者一样,直接跟着走,我希望不浪费您的时间。如果我写了注意两字的地方,那可能需要引起你的重视,至少我是仔细思考过的。装最新的2.2吧,因为有mxnet用的CUDA10.0.我嫌麻烦,就没有用最新的了。
  4. 对于环境有python2,python2,anaconda,miniconda,甚至还有不同深度学习架构mxnet,tensorflow, caffe等等,不要卸载保留一个啊,对下面的TensorFlow2配置没有任何影响,请放心。
  5. 对于Ubuntu而言,偶数版本是长期支持的稳定版本(16, 18),不要下载奇数的,那只是实验品。尽量不要选最新的,小白就不要去折腾,选择一年前的偶数版本哈。
  6. 对于mxnet的安装,笔者更新Ubuntu16.04和Windows10,可以参考下,有些地方还是很相似的

mxnet(动手学深度学习) Ubuntu安装及注意事项(CPU/GPU)
https://blog.csdn.net/weixin_39956356/article/details/106304532
mxnet(动手学深度学习) Windows10安装及注意事项(CPU/GPU-cu100)
https://blog.csdn.net/weixin_39956356/article/details/106304532

先看看我的,下面是版本要求,务必满足对应的条件
注意:从图上可以看出cuDNN>7.4,CUDA=10.0,根据实际情况,做相应改变,下面是官网安装链接
官网的安装指导
https://tensorflow.google.cn/install
在这里插入图片描述

1 快速下载Anaconda3/Miniconda

高效是我们最喜欢的,下载太慢很头疼。为此,我给大家推荐清华镜像源,速度-你网速有多快下载就有多快,给大家一个思路,想要下载什么软件可以先到清华镜像源上搜索下,没有的话再到官网下载。
清华镜像源:
https://mirrors.tuna.tsinghua.edu.cn
在这里插入图片描述
选择一个合适的版本,右键复制链接,用wget即可
注意:尽量选择最新的版本,TensorFlow2要求还是较高的;尽量不要在root下安装,直接sudo就好了,如果不可执行,记得加上+x的权限

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2020.02-Linux-x86_64.sh
/Anaconda3-2020.02-Linux-x86_64.sh

注意:

  1. 推荐用Anaconda而不是Miniconda,因为假如瘦conda没有相应的软件,会在线下载,有些麻烦啊。
  2. 注意:安装到最后一定要选yes,将conda加入环境变量中。更新环境变量直接输入bash即可

1.1 进入anaconda的环境

方法: bash 或者 source ~/.bashrc,看见前面多了一个base就进入anaconda的环境了

1.2 为新的TensorFlow2创建一个新的虚拟环境

为什么大家都用anaconda等包管理器呢?它确实非常方便,我想有两个主要原因

  1. 方便用conda或pip安装,升级,卸载
  2. 可以共存不同深度学习架构,很清晰管理所需的python版本

方法:
注意:务必执行上面bash 或者 source ~/.bashrc
从最开的图片可以看出,待安装TensorFlow2的python有个范围,这里选择3.7是较好的,如果你支持最新的也不碍事,比较久的显卡选择合适的替换3.7
提示选择yes即可。

conda create --name apython python=3.7

注意:apython可以随便取,生成路径在安装anaconda目录下的envs文件夹中,apython这个生成文件夹大概有200M,安装完成后有1.6G
在这里插入图片描述

1.3 配置新的apython环境

到自己根目录(~),也就是一个cd,添加如下代码到.bashtrc
路径就是生成apython下的python3和pip,做适当修改。
注意:shell脚本中尽量不要多打空格,有些伙伴喜欢空格,空格可能导致语法出错,尽量不要用空格。感兴趣的,可以试试加上空格

alias apython="/home/topeet/anaconda3/envs/apython/bin/python3"
alias apip="/home/topeet/anaconda3/envs/apython/bin/pip"

记住, 修改.bashtrc后要进行bash下或者source.bashrc,不然不会生效。

这里添加了pip,给它一个假名apip,以后执行关于这个TensorFlow2的一些软件更新都要用假名apip,它指示结果放在apython。不可执行pip或pip3这个是改的系统的,而不是我们需要TensorFlow2。下面可以看到所有关于pip都换成了apip。这就是conda的优势啊。

1.4 国内用户,加速apip的下载

apip速度很慢,长时间下不下来就会报错,执行下面的第一句即可。

apip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
取消可以使用
pip config unset global.index-url

2 显卡问题

2.1 Nvidia显卡,CUDA,CUDNN?

这里有必要解释三个名词的含义,不要糊里糊涂的乱用命令啊。
Nvidia显卡: 你买的GPU需要驱动吧,没有驱动电脑是不认识的,当然驱动是官方提供的,任何设备都需要驱动,没有驱动不工作。
CUDA:是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。也就是说CUDA是NVIDIA推出的并行架构,只有买它的产品才能获得这种"售后"。深度学习中,也叫做N卡,称之为GPU。不是它的产品被叫做CPU版本,当然并行架构又不是只有CUDA,还有OpenBlas(免费),intel(KML 收费),换句话说,没有买N卡的电脑也可以并行加速,这里讲N卡。注意: 只有驱动装好了,才能装CUDA啊。
CUDNN:在CUDA基础上,进一步实现深度神经网络GPU加速,NVIDIA推出了CUDNN,它强调性能、易用性和低内存开销。Tensorflow、caffe, mxnet等都支持。这里就不讲了,感兴趣的可以百度下。注意: 只有装好了CUDA,才可以弄CUDNN。

2.2 我大致把显卡安装分为几种情况

2.2.1 既没有N卡驱动,也没安装CUDA

这种情况是最常见的,对于 Ubuntu16.04刚安装好,没有显卡驱动,此时是集显在工作。这时很容易搞定。本文专注TensorFlow2,所以你要明确你的显卡支持CUDA10吗?下图是一个参考。
在这里插入图片描述
可以用nvidia-smi查看,没有正常的输入的话,就是显卡驱动都没有,符合这里的情况。
CUDA各版本下载地址
https://developer.nvidia.com/cuda-toolkit-archive
选择CUDA10.0,按照下面选择,下载runfile(我知道还有其他方法,这么做是很快的),文件比较大,因为里面有驱动和CUDA10.0 . ,这里有竟然还支持14,印证了偶数版本是长期为顶支持的,至少支持8年。
在这里插入图片描述
下载方法,喜欢命令的用wget,用浏览器下载也行,反正不限速。
安装很简单,先给它一个+x的权限,接着执行。或者bash sh xxxx
你可以通过Ctrl+C跳过文档的阅读,接受它一些条款。实在怕麻烦,全部选y。
注意:有Drive的地方一定选y,CUDA10.0也要选y,location不要变选y

可以用nvidia-smi查看,就有输出了
在这里插入图片描述
将CUDA的lib64加入环境中,和上面类似,不要忘了bash,末尾添加一行

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-10.0/lib64

如果后面出现问题bin目录也加入进去,如下,一般不用这么做, 一般是出现动态库连接问题,也有用ldconfig解决问题,上面用LD_LIBRARY_PATH也可以,因为你不是在编译原源码。。

export PATH=${PATH}:/usr/local/cuda-10.0/bin

还需要装cuDNN7.4,至少是cuDNN7.4,直接装最新的,满足最低的条件即可。

cuDNN下载
https://developer.nvidia.com/rdp/cudnn-download
需要注册账号,可以用QQ/微信快捷登录,速度很快。毕竟黄教主还是照顾我们的。
在这里插入图片描述
选择cuDNN Library for Linux
在这里插入图片描述
安装就是复制文件,细心操作

tar -zxvf cudnn-10.0-linux-x64-v7.6.5.32.tgz 
sudo cp cuda/include/cudnn.h  /usr/local/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

最后看看结果

 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
安装tensorflow-gpu==2.0.0,其他版本修改版本号

apip install tensorflow-gpu==2.0.0

提前输入conda activate apython,测试
在这里插入图片描述

提前输入conda activate apython,用Pycharn自动导入TensorFlow2,此时打开Pycharm,如下,要在激活的apython中打开Pycharm。
在这里插入图片描述
如下选择,如果不自动出现,就自己选择,下图较浅的字。
在这里插入图片描述

2.2.2 Tesla有专门的驱动

和上面类似。下载合适的驱动,cuda安装不一样哈,一定要加版本号,否则是最新版,无意义。

sudo dpkg -i cuda-repo-ubuntu1604-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-10.0

在这里插入图片描述

2.2.3 有多个CUDA版本

多个CUDA版本是可以共存的,和上面一摸一样,可以不卸载其他的,程序运行只关心我的版本能不能找到。

2.2.4 需要升级或降级驱动,自行想办法

3 有疑问请留言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值