ubuntu16.04系统下NVIDIA GEFORCE 1080+cuda10.1+cuDNN v7.6 +tensorflow2.1.0环境搭建

由于笔记本的配置实在有限,不得已更换电脑,于是就有了这三天的折磨。。。在此记录一下,希望能给予需要的人一些帮助,忘记了也能回来看看。

1 安装显卡驱动

装到第三天,上网查找了一番,发现显卡驱动竟然也要和cuda,cuDNN以及tensorflow版本相匹配,于是只能将之前装好的cuda和cuDNN卸了重新安装驱动。提醒各位,一定记得查看自己要目前的NVIDIA驱动版本,同时在一开始就要确定好cuda,cuDNN,tensorflow-gpu的版本。

1.1 确定NVIDIA驱动版本
下方是显卡驱动和cuda的对应版本:

在这里插入图片描述

下方是tensorflow对应版本选择:

在这里插入图片描述当然也可以从tensorflow官网进行查询,
链接: link.

1.2 下载NVIDIA驱动

根据自己的显卡型号和版本需求下载驱动
在这里插入图片描述

链接: link.

1.3 安装驱动

1、打开blacklist.conf
sudo vim /etc/modprobe.d/blacklist.conf
若未安装vim可通过sudo apt-get install vim安装或使用vi
(vim界面配置及相应状态切换及使用教程自行百度)
2、在blacklist.conf文件最后部分插入以下两行内容
blacklist nouveau
options nouveau modeset=0
3、更新系统
sudo update-initramfs -u
4、重启系统(一定要重启)
sudo reboot
5、验证nouveau是否已禁用
lsmod | grep nouveau
6、在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动
7、在ubuntu下按ctrl+alt+f1进入命令行界面,然后输入用户名和密码。
接着在命令行界面下输入:
sudo service lightdm stop //这个是关闭图形界面,不执行会出错。
然后卸载掉原有驱动:
sudo apt-get remove nvidia-* (若安装过其他版本或其他方式安装过驱动执行此项)
8、给驱动run文件赋予执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run
9、安装:
sudo sh ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files
//只有禁用opengl这样安装才不会出现循环登陆的问题
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
安装过程中的选项:
The distribution-provided pre-install script failed! Are you sure you want to continue?
选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
选择 Yes 继续
安装成功。
重启之后再在terminal输入nvidia-smi查看是否已经安装完成:
在这里插入图片描述
至此,NVIDIA的驱动安装完成。

2 安装cuda

说实话,每次进cuda的主页找以前的版本就要半天时间,实在是头疼。在此给大家列出链接,也方便下载:
链接: link.
直接下载好需要版本的cuda,这里需要注意的是大部分人下载的都是runfile版,deb版本好像会存在一些问题。
在文件存放页面,打开终端,输入命令:
sudo sh cuda_10.1.243_418.87.00_linux.run
需要等待一会儿,之后就进入了安装流程,这里需要注意的是,driver不需要安装,可以不勾选,其余均yes或者accept即可。
不选择driver

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

安装完毕后,会出现summary信息,可以查看一下。
!!!记住要声明环境变量!!!
打开bashrc文件:sudo gedit ~/.bashrc
在文件末尾添加:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
export PATH=$PATH:/usr/local/cuda-10.1/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.1

保存后退出,并在terminal输入 source ~/.bashrc 刷新文件使之生效。

可以进行测试,查看是否安装成功

在终端依次输入:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

会出现:
在这里插入图片描述
显示PASS则安装成功了。

3 安装cuDNN

这一步相对来说简单一些。
这里给出官网各个版本的链接:
链接: link.
找到自己需要的版本,下载。
在这里插入图片描述
下载完成后,解压,

tar -xzvf cudnn-9.0-linux-x64-v7.tgz

将解压后的文件放到对应的CUDA目录下,
在终端中依次输入:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

即安装完成。

4 安装tensorflow2.1.0

这里是我觉得坑最多的一次,其实可以使用系统自带的python的pip进行安装,也可以下载anaconda创建虚拟环境后进行安装,我两个都尝试过,觉得可能anaconda的方式更加完整一些,而且使用anaconda可以省略自行安装cuda和cuDNN这两步。下面两种方法都会说。
第二天大部分时间其实都耗在下载tensorflow上面了,最后才发现源没换。。。建议大家不管使用那种方式都先将系统的源换为清华的,步骤如下:

4.1 更换源

打开系统设置,找到“软件和更新”这一项

在这里插入图片描述

将“下载自”更改为清华的源

在这里插入图片描述
等待更新完成即可。

4.2 使用系统自带pip安装

附上tensorflow的各类版本链接: link.
下载完成后,不用解压缩!不用解压缩!不用解压缩!直接将文件放在自己的目录下,打开终端输入:

pip --default-timeout=1000 install tensorflow_gpu-2.1.0-cp35-cp35m-manylinux2010_x86_64.whl

即可。
过程时间会长一些,但相比没有更换源的情况来讲,已经非常短了。。。不要问我为什么会知道。。。

4.3 安装anaconda并建立虚拟环境

4.3.1 安装anaconda

我是直接下载了anaconda3版本,附上下载链接: link.
也可以通过国内的源选择自己需要的版本https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
下载完成后,在文件所在页面打开终端,并运行安装:

bash Anaconda3-4.2.0-Linux-x86_64.sh

基本上一路都是yes,可以关注一下环境变量的添加,这里他会自动添加,所以不用后续手动在bashrc里写入了。
安装完成后,最好还是 source ~/.bashrc 更新一下文件信息。

4.3.2 创建虚拟环境

在终端输入:

conda create --name py35 python=3.5

这里的py35是我创建虚拟环境的名称,大家可以自己命名。
建立虚拟环境时可能会出现安装包下载缓慢的问题,此时需要配置环境信息:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

再输入上方建立虚拟环境的命令。
然后激活:

source activate py45

(这里截图的时候打错了,大家直接进入自己的虚拟环境就可以)这样激活并进入了虚拟环境。

4.3.3 下载并安装tensorflow

网上有些教程这里直接输入一下命令,但是我发现这里安装的tensorflwo和cuda的版本很可能和需要的版本不一致。

conda install tensorflow-gpu keras-gpu 

所以建议更改成:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.1.0

如果没有所需要的版本,他会自动提示有的版本号,在终端查看并用以上命令更改版本号就可以安装。

4.3.4 在pycharm进行导入

因为习惯用pycharm,所以将这个虚拟环境导入。pycharm的安装比较简单,这里就不说了。
首先使用同样命令进入虚拟环境,查看python所在位置:

source activate py35
which python

他会显示:

(py35) yingmi@yingmi-B450M-DS3H:~$ which python
/home/yingmi/anaconda3/envs/py35/bin/python

然后打开pycharm,File–>settings–>Interpreter–>点击右上方齿轮按钮–>ADD
在这里插入图片描述在Existing environment下查找刚刚虚拟环境的python位置,导入即可。
在这里插入图片描述可能会有人发现,pycharm 的 interpreter 里没有tensorflow,但是如果导入是存在的,这里我一开始导入也疑惑了很久,怀疑是没装上,但在终端里检查发现是装好的,所以感觉应该是导入环境配置的在pycharm不显示。

小白一个,自己摸索了两三天,中间走了不少弯路,这篇文章写的也有很多不足,如果有错误欢迎指正,不胜感激。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值