目录
0 写在开头
1 安装双系统——Ubuntu18.04
1.1 制作Ubuntu18.04的启动U盘
1.2 创建磁盘分区
1.3 安装Ubuntu
3 安装NVIDIA显卡驱动
4 安装CUDA
4.1 手动进行降级
4.2 安装CUDA及其补丁
4.3 测试CUDA是否安装成功
5 安装cuDNN
5.1 下载
5.2 复制cuDNN内容到CUDA相关文件夹内
6 安装TensorFlow-GPU
6.1 安装
6.2 测试安装是否成功
在训练神经网络模型时,GPU运算能显著地提高运算速度。TensorFlow等许多深度学习框架可以支持在NVIDIA公司的显卡上进行加速运算,但目前不支持AMD公司的显卡。
需要提醒的是,并不是NVIDIA公司的所有显卡都能支持CUDA、TensorFlow-GPU运算。只有当电脑上NVIDIA显卡的性能满足要求时,才可以支持CUDA。参考NVIDIA官网:https://developer.nvidia.com/cuda-gpus
并且,只有当电脑上显卡的Compute Capability大于等于3.0时,才能支持TensorFlow-GPU。否则,即使成功地安装了CUDA,也不能使用GPU加速TensorFlow的运算。
安装双系统是指,原先的电脑已经安装了一个操作系统,比如Windows7、Windows10等操作系统,然后再重新安装一个操作系统。在安装的时候,两个系统是分别装在不同的分区内,后安装的系统不会覆盖前一个系统。而且每个单独的系统都有自己的分区格式,不会造成冲突的。安装了双系统后,在启动的时候,有一个多重启动的选择菜单,可以选择进入那个操作系统。当前状态下,只有一个系统是在运行的,不能随意的切换。如果想要进入另外一个,就要重新启动,重新选择。
本文介绍的是如何在Windows7或者Windows10的电脑上安装Linux操作系统之Ubuntu18.04。需要注意的是,如果对安装操作系统、磁盘分区等操作不熟悉,建议在执行以下操作前备份电脑中的数据。
在Ubuntu的官网上下载18.04,下载地址为:http://releases.ubuntu.com/18.04/
使用UltraISO软件,制作启动U盘。首先需要准备一个空白的或者备份过的U盘,U盘大小在4GB及以上。将U盘插入电脑,进入UltraISO,打开镜像文件(即下载好的Ubuntu18.04 ISO镜像文件)。
点击"启动"->"写入硬盘映像..."
按照默认设置的参数并执行写入操作
至此,完成了Ubuntu18.04启动U盘的制作。
同时按下Windows键和X键,在弹出的列表中选择“磁盘管理”
选择剩余可用空间较大的磁盘分区,右键并选择“压缩卷”。图中选择的是压缩E盘60G的空间。
点击“压缩”之后,E盘后部出现黑色的60G“未分配空间”
至此,磁盘分区过程完成。
插入U盘,重启电脑。在出现电脑品牌的LOGO界面时,按下BIOS的快捷键(电脑型号不同快捷键不同)。进入系统BIOS后设置优先U盘启动,设置后电脑自动重启并进入Ubuntu安装界面。
用户根据自己的需要选择语言等选项,这些设置都不是非常重要。
但是,下图“安装类型”的设置至关重要。一定要选择“其他选项”。
分配空间时需要注意:
第一次分区:
“空闲”处点“+”,进行如下设置:
大小:25600MB(设置分配给Ubuntu 根目录的空间。因为避免出现CUDA和TensorFlow安装时根目录存储空间不够的情况,建议设置20GB以上。)
新分区的类型:主分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
挂载点:“/”
第二次分区:
“空闲”处,继续点“+”,如下设置,
大小:4096MB
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:交换空间
挂载点:(不需要设置)
第三次分区:
“空闲”处,继续点“+”,如下设置,
大小:512MB(网上有的文章设置的200MB,但是会导致安装时GRBU配置出现问题“GRUB installation failed”)
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
挂载点:/boot
第四次分区:
“空闲”处,继续点“+”,如下设置,
大小:剩余的全部空间,剩下多少就显示多少
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
挂载点:/home
分区设置完毕后,下方还有一个设置项“安装启动引导器的设备”,选择/boot 所在分区进行安装,然后点击“现在安装”。
接下来的设置按照提示一步一步进行下去就可以了。
完成所有的安装设置后,会提示重启电脑。重启过后,就安装成功了。
需要注意的是,按照如下的安装方式,在Windows7操作系统下,开机时会有选项让用户选择打开哪个操作系统(Windows7还是Ubuntu18.04),不会有任何的影响。但是,如果主操作系统是Windows10,在Windows10重启后会自动地修改电脑BIOS的BOOT选项,使得无法引导打开Ubuntu18.04的操作系统。此时,可以在开机时打开BIOS,手动调整BOOT顺序,从而打开Ubuntu18.04操作系统。
打开Ubuntu18.04的命令行,输入以下命令以安装Ubuntu18.04的显卡驱动。
sudo ubuntu-drivers autoinstall
驱动安装完成后,一定要重新启动电脑。打开Ubuntu18.04的“设置"->"详细信息"->"关于"。如果"图形处理"处对应于自己的独立显卡的型号,那么说明安装成功。
根据我的多次实验,目前在Ubuntu18.04系统上,适合安装的CUDA版本是9.0版本。安装9.0以上的版本会导致TensorFlow-GPU在运行时报错,“import error:libcuda.so.9.0:cannot open shared object file:no such file or directory”。
下载地址:https://developer.nvidia.com/cuda-90-download-archive
按照下图进行选择
需要下载5个文件,第一个是主文件,后面的4个是补丁。
下载完成后,开始安装:
在命令行逐行输入下面的命令
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
cd /usr/bin
sudo mv gcc gcc.bak
sudo ln -s gcc-4.8 gcc
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
分别查看gcc和g++版本号
gcc -v
g++ -v
如果显示version为4.8,那么说明降级成功。
输入命令安装Base Installer:
sudo sh cuda_9.0.176_384.81_linux.run
执行代码后,会出现Notice内容,按下键盘上的D按键可以快速翻页。
需要注意的是,由于已经安装过NVIDIA显卡驱动程序,故在提问是否安装显卡驱动时选择No,其他选择默认路径或者选择Yes即可。
然后,继续执行以下命令逐一安装4个patch:
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run
安装完毕之后,在命令行输入下面的代码
sudo gedit ~/.bashrc
将以下两条语句加入.bashrc
文件中
export PATH=/usr/local/cuda-9.0/bin${PATH:+:$PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...
至此,CUDA安装完成。
在命令行中输入下列命令
cd ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery
查看输出结果,如果最后一行是"Result = Pass"表示CUDA安装成功。
再输入下列命令
cd ../bandwidthTest
make
sudo ./bandwidthTest
查看输出结果,如果出现"Result = Pass"表示CUDA安装成功。
由于安装的是CUDA9.0版本,所以安装的cuDNN的版本对应的是7.2.1
下载"cuDNN v7.2.1 Library for Linux",下载完毕后,进入到Downloads文件夹路径下,可以看到压缩包,然后解压。
在命令行中输入
sudo cp cuda/include/cudnn.h /usr/local/cuda/include 注意,解压后的文件夹名称为cuda ,将对应文件复制到 /usr/local中的cuda内
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
至此,cuDNN安装完成。
在命令行中输入
pip3 install tensorflow-gpu
安装完成之后输入
python3
在python3的交互模式中输入
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()
如果出现下图所示,GPU被列出来,那么表明安装成功。
在Python环境中输入下列代码
import numpy
import tensorflow as tf
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))
如果输出的信息类似下图,则表明TensorFlow-GPU安装成功,并且利用GPU加速运算。
您的支持是我不断前行的动力,谢谢!