ubuntu安装及深度学习框架(CUDA、cuDNN、Anaconda、pytorch、pycharm)


前言

最近想要在linux下搭建深度学习框架,一方面用于学习,另一方面满足课题需要。我的设备是联想R7000-2020,配置是R5 4600H+GTX1650+500G固态+1T机械(比较拉),电脑装的是win10,为了满足日常需求,所以想着装个双系统(win+ubuntu),在ubuntu上配置深度学习。


一、安装ubuntu20.04.4

1.准备工作

我们需要提前准备好一个U盘(16g以上),用于制作系统启动盘。从下面这个网站可以下载ubuntu各版本的镜像,这里我下的是20.04.4。

清华大学镜像网站

在这里插入图片描述
在这里插入图片描述
注意选择发行版本的时候选Desktop liveDVD,这个版本是有桌面的。下载完之后就得开始制作启动盘了,可以用UtraISO软碟通来制作。直接从官网下载试用版就行软碟通官网。下载之后的制作方法如下:

ultraiso制作u盘启动盘教程图文详解

制作完成后就可以进行下一步操作了。

在windows硬盘中创建一个新的卷给ubuntu,便于新系统的安装。这一步很重要,如果处理不好,轻则需要重装ubuntu,重则电脑数据丢失。网上有很多教程说分个50G给ubuntu就好,实验证明,这是傻*行为,空间不够大,等需要的时候就晚了,还得删除其他文件腾地儿,甚至重装系统,难受的一批。由于我固态中存放的文件较多,没法分太多空间,所以我准备在机械硬盘中分出400G给ubuntu(其实有点多了)。创建新卷的方法可以参考下面这个

win7、win10磁盘分区

2.开始安装

新建分区后,就可以把启动盘插上,准备安装系统了,进入开机进入bios,设置启动顺序,U盘第一,F10保存后会进入ubuntu安装界面。安装的过程网上教程有很多,我这里就贴一个Win10下UEFI环境安装Ubuntu 16.04双系统教程,但是里面分区的时候推荐的大小不要按照那个,可以参考我这个,主要还是efi和根目录。

名称 大小
efi 2-4g
swap 16g
/ 50g
/home 100g
/user 剩余全部

二、安装英伟达驱动(方案一)不推荐

该方案是从官网下的最新的驱动,过程有点繁琐。

1.下载NVIDIA驱动

根据自己的显卡,从官网下载驱动英伟达官网

2.安装GCC

打开终端(ctrl+alt+T),按顺序输入以下代码

sudo apt-get install gcc
sudo apt-get update
sudo apt-get install make

一般安装的gcc都是9.4版本的了

3.卸载原有NVIDIA驱动(一般都没有)

打开终端(ctrl+alt+T),输入以下代码

sudo apt-get remove --purge nvidia*

4.禁用通用驱动

sudo gedit /etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)

在打开的blacklist.conf末尾添加

blacklist nouveau
options nouveau modeset=0

保存后,在终端输入如下代码,更新内核

sudo update-initramfs –u

然后输入reboot重启系统。重启后输入以下代码检查是否关闭驱动,没有输出表示关闭成功。

lsmod | grep nouveau

很多教程还需要安装LightDM,我安装了电脑会进不去系统,所以我就没安装,也没发现有什么异常。
5、进入到下载的英伟达驱动目录,默认是在下载里,我们从该目录进入终端。
在这里插入图片描述
按顺序输入以下代码

sudo chmod  a+x NVIDIA-Linux-x86_64-460.84.run //对应自己下载的驱动名称
sudo ./NVIDIA-Linux-x86_64-460.84.run -no-x-check -no-nouveau-check -no-opengl-files
// 注意:后面三个选项的前面都是:减号“-”

其中
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件 (最重要)

安装过程中会弹出一些选项,根据需要选择就行(其实是我忘了咋选了)。安装完成后在终端输入 nvidia-smi可检测驱动是否已经安装。正常的是这样的:
在这里插入图片描述

三、安装英伟达驱动(方案二)推荐

该方案是从ubuntu自带的软件库里安装稳定版的驱动,过程很简单。

1.查看推荐驱动版本

在终端输入以下代码

ubuntu-drivers devices

可以看到如下信息:
在这里插入图片描述
红色框部分表示推荐的驱动版本。我们直接运行以下代码,会自动安装推荐版本驱动。

sudo ubuntu-drivers autoinstall

安装完成后重启,输入nvidia-smi即可查看是否完成安装。

三、安装CUDA及cuDNN

1.下载CUDA

可以从官网下载CUDA下载,我下载的是11.1.0版本的CUDA。
在这里插入图片描述
在这里插入图片描述
在终端输入红框的代码即可下载并安装CUDA。在安装过程中注意取消第一项显卡驱动前面的X,因为CUDA自带显卡驱动,这样会造成重复安装,导致安装失败。

2.配置环境变量

在终端输入

gedit ~/.bashrc

在打开的文件最后一行添加以下内容

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

最后再激活一下

source ~/.bashrc

在终端输入以下代码检查是否完成安装

nvcc -V

正常安装的界面如下
在这里插入图片描述

3.安装cuDNN

首先还得去官网下载cuDNN,下载需要注册登陆,要与CUDA版本对应。
在这里插入图片描述
下载完成后需要解压,在ubuntu里叫做提取,右键压缩包,就可以看到提取到此处,解压后,进入CUDA文件夹,并在该目录打开终端,输入以下代码

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

sudo cp cuda/include/cudnn_version.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*

即可完成文件的复制,之后输入cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2(老贼把验证文件移到cudnn_version.h里面了),出现以下界面表示安装成功。

在这里插入图片描述

四、安装Anaconda及pytorch

Anaconda是一个开源的Python发行版本,包含了conda、Python等180多个科学包及其依赖项,可以用于包管理器和环境管理。比如A项目中用了Python2,而B项目使用Python3,而同时安装两个Python版本可能会造成许多混乱和错误,这是使用Anaconda就可以为不同的项目建立不同的运行环境。

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch

1.安装Anaconda

进入清华镜像下载Anaconda,我下的版本是这个

在这里插入图片描述
下载完成之后进入安装包所在目录,使用bash指令进行anaconda安装:

bash Anaconda3-2020.11-Linux-x86_64.sh #改成自己下载的版本

一路yes就可以。最后输入以下代码检查是否完成安装

conda info

在这里插入图片描述

2.安装pytorch

首先要使用Anaconda创建一个虚拟环境,用于安装pytorch,这一步很重要。在终端输入以下代码查看目前已有的虚拟环境。

conda info --envs

在这里插入图片描述
其中base后面的*表示基层或者当前的环境,在用户前面的括号也会显示当前的环境,输入以下代码创建新的虚拟环境

conda create --name torchEnv python=3.8

其中torchEnv表示创建的虚拟环境的名称,选择的python版本为3.8,创建完成后激活该环境

activate torchEnv

接下来要切换环境,在新环境中安装pytorch。按照以下顺序输入代码

# 查看已有的虚拟环境,选择你要切换到的虚拟环境
conda env list
#选择虚拟环境,这里我选择的是torchEnv
conda activate torchEnv

完成后不要关闭终端,前往pytorch官网,按照下图选择版本。这里注意!pytorch和cuda的版本一定一定一定要对应,否则我们从镜像源里安装的可能是cpu版的pytorch,主要原因是Anconda是一个大聪明,如果没在源里找到GPU版的pytorch,会自动安装cpu版的。
在这里插入图片描述注意红框的命令,复制下来,并在后面加上以下代码-i https://pypi.douban.com/simple/ 表示从豆瓣源下载pytorch,完整的代码如下:

pip3 install torch==1.8.2+cu111 torchvision==0.9.2+cu111 torchaudio==0.8.2 -f https://download.pytorch.org/whl/lts/1.8/torch_lts.html -i https://pypi.douban.com/simple/ 

完成后就可以准备下一步啦。

五、安装pycharm及配置pytorch解释器

1.安装pycharm

官网下载社区版(专业版要钱),下载完成后解压缩,解压的方法就是右键提取到此处,进入加压后的文件夹,再进入bin,在bin目录下进入终端
在这里插入图片描述
在终端里输入以下代码,打开pycharm

sh pycharm.sh

打开之后会弹出一个小框,我们把它最大化就可以看到创建新项目,点击创建新项目,就进入了软件里面,汉化可以按照以下步骤

在这里插入图片描述
点击设置后弹出以下界面

在这里插入图片描述
重启后就实现了汉化。同时,在工具-创建桌面条目可以生成桌面快捷方式。

2.配置pytorch解释器

按照以下步骤即可

在这里插入图片描述
点击后选择编辑配置

在这里插入图片描述
选择我们在第四部分创建的torchEnv虚拟环境,确定后,重启即可。

我们试着在主程序输入以下代码,测试是否有问题。

import torch
# 创建tensor
x = torch.rand(4, 3)
print(x)
# 构造数据类型为long,数据是0的矩阵
x = torch.zeros(4, 3, dtype=torch.long)
print(x)

输出为

在这里插入图片描述

写在最后

在这个过程中,遇到了一些小问题如下:

1、安装ubuntu时给efi分区太少(200M)不够用只能重装
2、第二次安装过程中,不小心把磁盘类型(F盘和G盘)变成了动态硬盘,只好把该盘里的东西移走,格式化硬盘后变回了基本硬盘。
3、安装pytorch时网不行,采用conda的方式下载不了,只能通过pip,同时清华源挂了,只好用豆瓣源下载。
4、下载pycharm后打开找不到创建项目的选项,原来是没有最大化(珍妮马荔浦)。

如果一切顺利的话,这次的教程就结束了,文中有些引用,就不一一列举了,有问题请在评论区留言,谢谢各位。(写了这么多给个赞不过分吧~)

猜你喜欢

转载自blog.csdn.net/weixin_44598249/article/details/123891291