转载自:https://blog.csdn.net/u010801439/article/details/80483036
非常感谢原作写的这篇博文,自己根据步骤已经实现了。现转载此博文仅是为了保存以防日后重装之用!
目前,大多情况下,能搜到的基本上都ubuntu 14.04.或者是ubuntu 16.04的操作系统安装以及GPU 环境搭建过程,博主就目前自身实验室环境进行分析,总结一下安装过程。
gpu : GeForce titan xp 12G 显存
内存: 64G
硬盘 :512 SDD +2T 机械
主板: 微星 x299 SLI PLUS
就配置而言,唯一有遗憾的就是主板,微星主板安装ubuntu 各种报小毛病,打电话给微星客服,客服说,这块主板供应商只在window 10 环境下进行过测试,但是,LINUX 系统,不知道行不行得通,让我自己想办法解决,-_-|| 。 此处还是建议要采购设备的主板选择技嘉或者华硕的,注意看主板是否支持安装linux操作系统。
首先,建议制作U盘启动盘(点击此处)进行安装,安装时需要设定主板 grub+legacy方式(重启进bios,boot项里面的),博主在安装系统时,尝试安装了各种版本的ubuntu系统,包括14.01、14.03、16.01、16.03、16.04,均未成功,所有的问题,都是,系统安装到一半,直接就报错,无法安装,在网上查找了许久,据说是显卡的问题导致的,有相关文档说,18.04版本可以避免这个问题。于是,尝试安装ubuntu18.04版本,OK ,按照大神推荐的双硬盘分配方案(点击此处)进行安装配置。安装成功。
大家在安装好系统后,要记得更新源。
进入系统后,系统默认是使用主板上的集成显卡,那么,我们需要做的事就是安装上自己的独立显卡,也就是titan xp的驱动,网上有3中安装方法,给大家推荐一下,可以收藏一下如何安装NVIDIA显卡(点击此处)。
此处给大家示范其中一个方法(自己的显卡对应自己的信息,以下只是示例):
具备条件:root权限进行操作
修改root密码:
1. $ sudo passwd 输入两次新密码
2. $ su root 登陆 root账户
显卡驱动安装:
step .1:首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型。执行命令:
$ ubuntu-drivers devices
输出结果为:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor : NVIDIA Corporation
model : GK104 [GeForce GTX 680]
driver : nvidia-304 - distro non-free
driver : nvidia-340 - distro non-free
driver : nvidia-384 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
== cpu-microcode.py ==
driver : intel-microcode - distro free
从中可以看到,这里有一个设备是GTX 680 ,对应的驱动是NVIDIA -304,340,384 ,而推荐是安装384版本的驱动。
step.2,安装驱动
你可以选择,安装所有推荐的驱动,如下命令
$ sudo ubuntu-drivers autoinstall
你也可以选择,只安装其中一个驱动,命令如下
$ sudo apt install nvidia-340
OK 驱动安装完成,重新启动,查看系统配置---》详细信息---》关于 ,图形处理是否对应于自己的独立显卡。
安装CUDA 这里需要注意;
咱们需要根据cuDNN 来选择,如图,首先,cuda只能支持17.04,16.04的ubuntu 下载安装,但,实际上,有点类似于word一样(高版本word能打开低版本的word文件 .)18.04版本的系统,能够安装16.04版本对应的CUDA。
目前cuda 最高版本为9.2,且只支持 16.04,17.04 这两个系统,而且,我们安装完CUDA 之后还需要安装cuDNN。
那么cuDNN 的版本又有什么选择呢,如下
首先,根据cuDNN 的版本,目前,较为完善的,是cuDNN v7.0.5 ,其适用于 CUDA 9.1 版本,所以,咱们在选择安装cuda的时候,选择 CUDA 9.1。下载地址
按下图进行选择
对应的有一下四个文件,需要统统下载,第一个是主文件,后3个相当于补丁。
开始安装:
step .1 GCC 降级
由于CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3,
故手动进行降级:
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
装完后进入到/usr/bin目录下
[delphi] view plain copy
会显示以下结果
[delphi] view plain copy
- lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.3
发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-4.8 gcc #重新链接
同理,对g++也做同样的修改:
ls -l g++*
[delphi] view plain copy
- lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.3
需要将g++链接改为g++-4.8:
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
再查看gcc和g++版本号:
gcc -v g++ -v
均显示gcc version 4.8 ,说明gcc 4.8安装成功。
step. 2 安装cuda ,及其补丁
在我们安装runfile之前,我们需要安装一些依赖关系,否则你会得到“Missing recommended libary”这样的警告。
Libray警告
安装像这样的依赖关系。
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
输入命令安装Base Installer:
[delphi] view plain copy
需要注意的是,之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择no,其他 选择默认路径或者yes即可。
然后,继续执行以下操作安装3个 patch :
安装完毕之后,将以下两条加入.barshrc
文件中.
sudo vim ~/.barshrc
export PATH=/usr/local/cuda-9.1/bin${PATH:+:${PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...
export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} #注意,根据自己的版本,修改cuda-9.2/9.0...
OK ,那么,到这一步,cuda 就安装完成了
cd NVIDIA_CUDA-9.1_Samples/5_Simulations/fluidsGL
make clean && make
./fluidsGL
如果cuda-9.1正确安装,在我们的制作过程中应该没有错误信息。然后我们可以得到流体模拟。
流体模拟示例
我们的cuda-9.1已成功安装!在我们继续之前, 我们可以测试一下其他的sample。
cuDNN 的安装,就是将 cuDNN 包内的文件,拷贝到cuda文件夹中即可。
step.1按照第四点分析的内容,我们需要下载的cuDNN 版本为
cuDNN v7.0.0 library for liunx,下载地址(需要注册才能进行下载)
下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.1-linux-x64-v7.tgz 压缩包
先解压,然后将其中的内容复制到CUDA安装文件夹里面.
step.2 复制cuDNN内容到cuda相关文件夹内
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*
到此处,所以的安装就完成。
接下来就可以安装相应的软件,如:anaconda,pycharm tensorflow 等。。。
我们将使用virualenv安装。 首先安装libcupti-dev库。
sudo apt-get install libcupti-dev
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64
然后我们将安装virtualenv并创建一个Tensorflow Environment。
sudo apt-get install python3-pip python3-dev python-virtualenv
virtualenv --system-site-packages -p python3 tensorflow # create a enviroment named tensorflow
这需要一段时间,请耐心等待。
当环境创建好了,我们必须在每次使用tensorflow时激活它。首先按照推荐安装tensorflow cpu version。
source ~/tensorflow/bin/activate
pip3 install --upgrade tensorflow # install the cpu version
在同一个环境中,这意味着你会在你的shell中看到它。
(tensorflow)$
键入python和下面的python代码。
python
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
这是我的结果。虽然它与官方验证结果不同,但是应该没问题。
>>> print(sess.run(hello))
b'Hello, TensorFlow!'
>>>
###安装Tensorflow GPU版本 首先确保我们处于同一环境中。
pip3 install --upgrade tensorflow-gpu
但是,下载whl文件的网速较慢。所以我们可以用自己的“方法”到浏览器中的whl文件和本地pip3安装。
仍然确保你在Tensorflow Enviroment。
键入python和下面的python代码。
python
# Python
import tensorflow as tf
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
结果是一样的。但是我们可以看到我们的GPU设备正在工作。您可以在下面的测试结果中看到我的GTX 1050 Ti。
Tensorflow GPU 验证安装
我们在Ubuntu 18.04上成功安装了Tensorflow。 您可以在Tensorflow网站上测试更多的模型,git克隆模型库非常缓慢。因此,我们也可以用“自己的方法”在浏览器中下载张量流模型库。 This my fisrt example.
Tensorflow 鸢尾花进行分类
##安装Pytorch 我们将使用由pytorch推荐的软件包管理器Anaconda来安装它。 ###安装Anaconda 我在合肥,所以我选择科大镜像来下载anaconda安装的.sh文件。 在我们安装了Anaconda之后。我们必须改变“Anaconda3”的拥有者,否则我们不能将文件写入此目录。 我们检查我们的用户名和用户组。
groups
第一组通常是你现在的组。 这是我的结果。
我的用户组
由于我的用户组是bryan,我的用户名也是bryan。所以我会将下面的命令改为“chown -R bryan:brayn anaconda3”。“-R”的意思是迭代,这个参数将改变整个anacodna3文件的所有者。
chown -R YOUR_GROUp:YOUR_USER_name anaconda3
在安装pytorch之前,我们可以设置Anaconda镜像源以减少等待时间。同样,我的镜像源是科大镜像。
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
###安装Pytorch 然后我们可以去pytorch网站。选择linux,python版本为3.6,cuda版本为9.0。请不要执行这个命令。 后一个pytorch意味着我们将从它的官方网站下载pytorch,这对我来说非常缓慢。因此,将最后一个pytorch替换为适合您的镜像源。
conda install pytorch torchvision cuda91 -c https://mirrors.ustc.edu.cn/anaconda/cloud/pytorch/
您可以尝试pytoch webstie上的示例。这是我的结果。
pytorch 导入数据