0%

Ubuntu18.04下pytorch深度学习环境搭建

前言

大三下学期专业有一门《模式识别》的课程,主要是涉及其中深度学习这个分支,由于需要算力支持,所以借同学的电脑后,基于Ubuntu18.04系统下配置pytorch深度学习框架的环境,其中遇到诸多困难,在这里做总结记录。

环境版本

  • Ubuntu18.04 LTS
  • Anaconda x86 linux支持版 python3.9
  • pytorch 1.10.2

显卡驱动

  • Nvidia RTX-1070
  • CUDA 11.3
  • cuDNN CUDA11.3 对应版本8.2.0

安装流程

Ubuntu18.04

主要是双系统配置,其中完全跟着此篇教程进行双系统安装Ubuntu18.04双系统安装

(之前本人笔记本是DELL,究极折磨,一天送去维修两次)

Anaconda

直接去官网下载对应的版本,Anaconda官网

显卡驱动

首先检查ubuntu系统推荐的相关驱动

1
ubuntu-drivers devices

image-20220227093633842

执行后会得到类似上面的一张图,其中会有一项recommended,这个是ubuntu推荐安装的驱动,这里笔者比较怂,去官网查看对应版本的显卡驱动Nvidia显卡驱动下载

image-20220227093909109

查看后发现官方推荐是510的驱动,和ubuntu推荐安装是同一个版本,所以直接通过ubuntu系统安装对应驱动,执行:

1
sudo ubuntu-drivers autoinstall

执行指令,查看驱动安装情况

1
nvidia-smi

若正常显示如下,则驱动安装完成

image-20220227094305219

其中笔者框选出来的地方是对应的驱动版本,笔者是510版本,同时官方安装驱动后,会在驱动版本显示右侧(框选框的右侧)显示CUDA支持版本,笔者当时是CUDA11.6,即RTX1070最高支持11.6版本的CUDA

(注:是最高支持版本,不是已安装好的版本,这个时候CUDA还没安装!)

网上很多资料是非Ubuntu自带安装驱动,这里贴一条笔者当时查的教程Nvidia驱动安装

CUDA安装

这个是折磨笔者最久的一个部分,最后在知乎找到一份靠谱的教程

NVIDIA CUDA Toolkit 11.0 安装与卸载

这里笔者没有跟着安装11.0的版本,而是先查看了pytorch官网当时主要支持的CUDA版本

image-20220227095240649

可以看到,上面官网是11.3的版本,所以笔者相应的安装了11.3的版本(注:不过后来问同学,更多是使用11.0或11.1)

这里有一个坑,当时用

1
nvcc -V

查看CUDA版本时候,提示笔者

1
sudo apt install nvidia-cuda-toolkits

笔者以为只是个相应的支持工具包,就安装了,后面确实可以查看版本,但11.3安装完成后,显示的版本还是CUDA9.1,才搞明白这条指令相当于ubuntu下帮你安装了9.1的CUDA,后面删除原CUDA

1
sudo apt-get purge nvidia-cuda-toolkit

具体参考这篇博客【nvidia】2.cuda旧版本卸载

卸载后,笔者发现连版本都查不了了……(差点暴毙),后面找到了本节介绍的教程,发现是没有把他CUDA11.3加入系统环境,加入环境后,查看CUDA为11.3版本。

cuDNN安装

这个安装主要费劲在Nvidia官网账号的注册上(国内网速dddd),其他只要找到CUDA版本对应的cuDNN版本即可

image-20220227100413844

如上,笔者11.3版本,对应是8.2.1的cuDNN版本

下载后还要进行一系列操作,具体如下

1
2
3
4
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*

注意:上面cuda要查看自己下载到local文件夹的cuda文件夹的名字,笔者是cuda-11.3

具体可以参考教程ubuntu18.04配置cudnn详细步骤

pytorch

在安装pytorch之前,需要先了解一下anaconda的虚拟环境。

由于深度学习对应诸多模块版本不同的问题,anaconda可以建立一个虚拟环境,该环境用户可以任意配置相关的模块版本以便满足不同模型的需求而不会和系统模块产生冲突,同时避免环境崩坏而整个系统环境不能正常使用的情况(系统各种版本冲突,最后无奈只能重装整个环境)

具体anaconda配置pytorch可参考最省心的Python版本和第三方库管理——初探Anaconda

上述教程主要是win下,笔者win跟着做没有什么问题,但ubuntu下还是存在部分问题,下面做部分总结。

首先我们创建一个虚拟空间并激活

1
2
conda create -n lane_det python=3.9
activate lane_det

激活后,可以用如下指令查该虚拟环境还有模块

1
conda list

可以发现并除了几个基本模块,没有其他模块。我们先安装pytorch相关模块

前往pytorch官网,选择自己对应版本(注:这里用conda,此指令是在虚拟环境执行,pip可能会安装到全局(应该))

image-20220227101623594

复制上述指令后,等待安装完成,安装完成后,执行查看指令,查看模块是否已经安装。

至此pytorch深度学习的环境搭建基本结束,但这里笔者还遇到几个问题,再做总结。

启动jupyter notebook后,导入torch模块,不能找到,找了很多教程(主要关键词不知道搜什么)最后搜到如下教程,成果解决了这个问题

解决jupyter notebook无法找到虚拟环境的问题