Ubuntu 18.04 64位安装tensorflow-gpu
第一步(可直接跳到第二步):安装nvidia显卡驱动
linux用户可以通过官方ppa解决安装GPU驱动的问题。使用如下命令添加Graphic Drivers PPA:
1
|
sudo add - apt - repository ppa:graphics - drivers / ppa |
然后更新源:
1
|
sudo apt - get update |
然后去navidia官网查看最新的驱动版本号:navidia官网:http://www.geforce.cn/drivers
比如说驱动的最新版本号为396,则执行如下指令:
1
|
sudo apt - get install nvidia - 396 |
最后安装openGL支持:
1
|
sudo apt - get install mesa - common - dev |
第二步:安装cuda-10.0(中间会默认安装显卡驱动)
1
2
3
|
$ sudo dpkg - i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb $ sudo apt - get update $ sudo apt - get install cuda |
使用的是Ubuntu 18.04 LTS 64位,安装cuda10.0,采用本地deb包安装方式,这是安装的环境的主要信息。
对于该问题,搜索到的多是将Ubuntu中的一些有问题的更新或者源去掉来解决的,但是对于这个问题无效。而且Google上很少有这个问题的搜索结果,折腾了一两个小时后才找到一个方案,就是使用aptitude。这个比apt处理依赖问题要更加智能,采用该方案安装cuda如下:
如果没有aptitude则需要先安装aptitude: sudo apt-get install aptitude
然后进行安装cuda:
冲突写了两三屏幕,然后给出了解决方案:
选择接受,等待
终于完成了,尝试了下nvidia-smi
如果nvidia-smi失败,则试着重启,应该就OK了。
1
|
sudo vim / etc / profile |
1
2
3
|
export CUDA_HOME = / usr / local / cuda -10 .0 export PATH = $CUDA_HOME / bin :$PATH export LD_LIBRARY_PATH = $CUDA_HOME / lib64:$LD_LIBRARY_PATH |
1
|
source / etc / profile |
1
|
$ nvidia - smi <a style = "font-size: 2em; background-color: #ffffff; font-family: 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, sans-serif;" name = "t3" >< / a> |
第三步:降低gcc版本到5.0以下
1
|
$ gcc - - help |
1
|
$ gcc - - version #查看gcc版本号 |
第四步:下载 cuDNN V5+ 库文件并添加到cuda-8.0库
解压并将内容copy到/usr/local/cuda-10.0/include和lib64目录中:
cudann-10.0是目前为止比较稳定的版本在更新tensorflow后(1.4.1- 指令: pip install --upgrade tensorflow-gpu 即可更新tensorflow)
在官网下载对应版本的*.tgz文件。
指令如下:
第五步:安装tensorflow
(1)Anaconda安装tensorflow
下载:Anaconda2-4.3.1-Linux-x86_64.sh(https://repo.continuum.io/archive/)参考网址:https://www.cnblogs.com/willnote/p/6746499.html
1
|
bash Anaconda2 - 4.3 . 1 - Linux - x86_64.sh |
Anaconda仓库镜像
官方下载更新工具包的速度很慢,所以继续添加清华大学 TUNA提供的Anaconda仓库镜像,在终端或cmd中输入如下命令进行添加
1
2
|
$ conda config - - add channels https: / / mirrors.tuna.tsinghua.edu.cn / anaconda / pkgs / free / $ conda config - - set show_channel_urls yes |
备注:如果出现conda命令未找到,查看:https://www.cnblogs.com/chamie/p/10009193.html
Tensorflow安装
在终端或cmd中输入以下命令搜索当前可用的tensorflow版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
(可以略掉)$ anaconda search - t conda tensorflow Using Anaconda API: https: / / api.anaconda.org Run 'anaconda show <USER/PACKAGE>' to get more details: Packages: Name | Version | Package Types | Platforms - - - - - - - - - - - - - - - - - - - - - - - - - | - - - - - - | - - - - - - - - - - - - - - - | - - - - - - - - - - - - - - - HCC / tensorflow | 1.0 . 0 | conda | linux - 64 HCC / tensorflow - cpucompat | 1.0 . 0 | conda | linux - 64 HCC / tensorflow - fma | 1.0 . 0 | conda | linux - 64 SentientPrime / tensorflow | 0.6 . 0 | conda | osx - 64 : TensorFlow helps the tensors flow acellera / tensorflow - cuda | 0.12 . 1 | conda | linux - 64 anaconda / tensorflow | 1.0 . 1 | conda | linux - 64 anaconda / tensorflow - gpu | 1.0 . 1 | conda | linux - 64 conda - forge / tensorflow | 1.0 . 0 | conda | linux - 64 , win - 64 , osx - 64 : TensorFlow helps the tensors flow creditx / tensorflow | 0.9 . 0 | conda | linux - 64 : TensorFlow helps the tensors flow derickl / tensorflow | 0.12 . 1 | conda | osx - 64 dhirschfeld / tensorflow | 0.12 . 0rc0 | conda | win - 64 dseuss / tensorflow | | conda | osx - 64 guyanhua / tensorflow | 1.0 . 0 | conda | linux - 64 ijstokes / tensorflow | 2017.03 . 03.1349 | conda, ipynb | linux - 64 jjh_cio_testing / tensorflow | 1.0 . 1 | conda | linux - 64 jjh_cio_testing / tensorflow - gpu | 1.0 . 1 | conda | linux - 64 jjh_ppc64le / tensorflow | 1.0 . 1 | conda | linux - ppc64le jjh_ppc64le / tensorflow - gpu | 1.0 . 1 | conda | linux - ppc64le jjhelmus / tensorflow | 0.12 . 0rc0 | conda, pypi | linux - 64 , osx - 64 : TensorFlow helps the tensors flow jjhelmus / tensorflow - gpu | 1.0 . 1 | conda | linux - 64 kevin - keraudren / tensorflow | 0.9 . 0 | conda | linux - 64 lcls - rhel7 / tensorflow | 0.12 . 1 | conda | linux - 64 marta - sd / tensorflow | 1.0 . 1 | conda | linux - 64 : TensorFlow helps the tensors flow memex / tensorflow | 0.5 . 0 | conda | linux - 64 , osx - 64 : TensorFlow helps the tensors flow mhworth / tensorflow | 0.7 . 1 | conda | osx - 64 : TensorFlow helps the tensors flow miovision / tensorflow | 0.10 . 0.gpu | conda | linux - 64 , osx - 64 msarahan / tensorflow | 1.0 . 0rc2 | conda | linux - 64 mutirri / tensorflow | 0.10 . 0rc0 | conda | linux - 64 mwojcikowski / tensorflow | 1.0 . 1 | conda | linux - 64 rdonnelly / tensorflow | 0.9 . 0 | conda | linux - 64 rdonnellyr / r - tensorflow | 0.4 . 0 | conda | osx - 64 test_org_002 / tensorflow | 0.10 . 0rc0 | conda | Found 32 packages |
选择一个较新的CPU或GPU版本,如jjh_cio_testing/tensorflow-gpu的1.0.1版本,输入如下命令查询安装命令
1
2
3
4
5
6
7
8
9
10
11
12
|
(可以略掉)$ anaconda show jjh_cio_testing / tensorflow - gpu Using Anaconda API: https: / / api.anaconda.org Name: tensorflow - gpu Summary: Access: public Package Types: conda Versions: + 1.0 . 1 To install this package with conda run: conda install - - channel https: / / conda.anaconda.org / jjh_cio_testing tensorflow - gpu |
使用最后一行的提示命令进行安装
1
2
3
4
5
6
7
8
9
10
11
12
|
$ conda install - - channel https: / / conda.anaconda.org / jjh_cio_testing tensorflow - gpu = = 1.3 . 0 Fetching package metadata ............. Solving package specifications: . Package plan for installation in environment / home / will / anaconda2: The following packages will be SUPERSEDED by a higher - priority channel: tensorflow - gpu: 1.0 . 1 - py27_4 https: / / mirrors.tuna.tsinghua.edu.cn / anaconda / pkgs / free - - > 1.0 . 1 - py27_4 jjh_cio_testing Proceed ([y] / n)? |
conda会自动检测安装此版本的Tensorflow所依赖的库,如果你的Anaconda缺少这些依赖库,会提示你安装。因为我之前已经安装过了,所以这里只提示我安装Tensorflow。输入y并回车之后等待安装结束即可
- 可以选择次高版本的Tensorflow安装,因为最新版本可能清华 TUNA的仓库镜像库没有及时更新,而官方更新连接总是失败,我最开始选择了jjhelmus/tensorflow-gpu的1.0.1版本,其他依赖 库清华 TUNA的仓库镜像有资源,而到最后jjhelmus/tensorflow-gpu版本的Tensorflow安装包总是下载不下来,尝试20多次之后 换了一个1.0.0的版本,终于顺利安装成功
进入python,输入
1
|
import tensorflow as tf |
如果没有报错说明安装成功。
(2)PIP安装tensorflow
安装完CUDA 8 和 cuDNN 5后, 在终端输入 sudo apt-get install libcupti-dev(参考:https://www.cnblogs.com/zengcv/p/6564517.html)
Ubuntu14.04默认安装的Python2.7.6
先安装Python库
1
|
sudo apt - get install python - pip python - dev |
安装tensorflow:
(1)在线安装
sudo pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl
(2)下载安装(由于Ubuntu系统下,网上比较慢,可以在windows下载。推荐这种安装方法)
sudo pip install tensorflow_gpu-1.0.1-cp27-none-linux_x86_64.whl
(下载地址:https://pypi.org/project/tensorflow-gpu/1.0.1/#files)
参考文献:https://www.cnblogs.com/chamie/p/8876271.html