本文主要讲述基于Ubuntu18.04LTS 版本的tenserflow1.8安装
配置如下:
Ubuntu 18.04 LTS
python 2.7
nvidia driver 390
cuda 9.0
cudnn 7.1
tensorflow 1.8
- 安装NVIDIA driver
查看NVIDIA driver 推荐。
$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C81sv00001028sd000011C0bc03sc00i00
vendor : NVIDIA Corporation
model : GP107 [GeForce GTX 1050]
driver : nvidia-driver-396 - third-party free recommended
driver : nvidia-driver-390 - third-party free
driver : xserver-xorg-video-nouveau - distro free builtin
可以看到当前推荐的是nvidia-driver-396- third-party free。
安装:
$ sudo ubuntu-drivers autoinstall按照推荐的驱动安装,如果失败,请添加NVIDIA driver源仓库然后在安装,安装命令如下:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
测试安装是否成功
$ nvidia-smi
Tue May 22 12:14:56 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.59 Driver Version: 390.59 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1050 Off | 00000000:01:00.0 Off | N/A |
| 20% 39C P0 N/A / 75W | 444MiB / 2000MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1155 G /usr/lib/xorg/Xorg 28MiB |
| 0 1252 G /usr/bin/gnome-shell 48MiB |
| 0 1539 G /usr/lib/xorg/Xorg 163MiB |
| 0 1713 G /usr/bin/gnome-shell 107MiB |
| 0 2442 G ...-token=755D9B9E74B9E412D1116412B89F4DC2 93MiB |
+-----------------------------------------------------------------------------+
出现上述信息则说明驱动安装成
2.安装CUDA-9.0
官网下载cuda-9.0下载如下三个文件:
cuda_9.0.176_384.81_linux.run
cuda_9.0.176.1_linux.run
cuda_9.0.176.2_linux.run
下载完成之后加入执行权限并开始安装
注意:
1.安装cuda的时候并没有降级gcc,g++;说明cuda9.0已经支持gcc7.0安装,所谓降级是后面要编译cuda测试例子的时候用到6.0以下的g++,和gcc版本。
2.安装过程中注意看以下询问是否安装NVIDIA driver的时候原则no 其他yes即可。
$ sudo chmod +x cuda_9.0.176_384.81_linux.run $ sudo chmod +x cuda_9.0.176.1_linux.run $ sudo chmod +x cuda_9.0.176.2_linux.run $ ./cuda_9.0.176_384.81_linux.run --override $ ./cuda_9.0.176.1_linux.run $ ./cuda_9.0.176.2_linux.run
测试cuda
注意选择该例子进行测试需要g++,gcc版本为6.0以下否则编译会出错。而ubuntu18.04 LST自带的g++,和gcc
版本为7.3,因此我们选择安装一个低版本的g++ 5.0,和gcc 5.0
并设置为版本控制,如下:
$ sudo apt install gcc-5 g++-5 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 70这样就可以通过以下命令来切换使用的gcc和g++版本
$ sudo update-alternatives --config g++ There are 2 choices for the alternative g++ (providing /usr/bin/g++). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/g++-7 70 auto mode * 1 /usr/bin/g++-5 50 manual mode 2 /usr/bin/g++-7 70 manual mode Press <enter> to keep the current choice[*], or type selection number:
$ sudo update-alternatives --config gcc There are 2 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/gcc-7 70 auto mode * 1 /usr/bin/gcc-5 50 manual mode 2 /usr/bin/gcc-7 70 manual mode Press <enter> to keep the current choice[*], or type selection number:如图所示按1,选择5.0版本。
在测试之前还有一步就是要做一个路径的添加,否则会报错。同时把下面三条指令放在自己的bash配置文件里~/.bashrc或者~/.zshrc里面。
我的是vim ~/.zshrc
$ export PATH=/usr/local/cuda-9.0/bin${PATH:+:$PATH}} $ export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} $ export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64/准备就绪,开始测试:
$ cd ~/NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL $ sudo make clean && make $ ./fluidsGL如果出现找不到libcufft,则使用如下指令安装,然后重启Terminal即可。当然可能你的缺失依赖可能和我的不一样
则需要按照你的缺失进行安装,方法都一样。
$ sudo apt-get install libcufft9.1出现如下则代表cuda安装成功。
3.安装cudnn7.1
下载cudnn-9.0-linux-x64-v7.1.tgz
1.解压文件
$ tar -zxvf cudnn-9.0-linux-x64-v7.1.tgz2.把文件移到cuda目录下
$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/ $ sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/3.给文件读取的权限
$ sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda/lib64/libcudnn*至此cudnn配置完成。
4.从pip安装Tensorflow1.8
官方推荐是用Virtualenv安装,不过这里我们仅使用pip进行安装。
$ pip install --upgrade tensorflow-gpu安装完成之后终端进入python输入
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34) [GCC 7.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from tensorflow.python.client import device_lib >>> device_lib.list_local_devices()如果出现下图所示则安装成功,可以看到GPU已经被列出来。
[name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 8754742150252655686 , name: "/device:GPU:0" device_type: "GPU" memory_limit: 1276313600 locality { bus_id: 1 links { } } incarnation: 17576461877219777618 physical_device_desc: "device: 0, name: GeForce GTX 1050, pci bus id: 0000:01:00.0, compute capability: 6.1" ]
至此tensorflow1.8 完成安装。
参考链接:
https://blossomnoodles.github.io/cnBlogs/2018/04/30/Ubuntu18.04-Tensorlow-install.html