前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu18.04下安装Pytorch-GPU(超详细自己安装全过程)「建议收藏」

Ubuntu18.04下安装Pytorch-GPU(超详细自己安装全过程)「建议收藏」

作者头像
全栈程序员站长
发布2022-11-10 11:30:41
2.1K0
发布2022-11-10 11:30:41
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

硬件环境: 自己的笔记本电脑 CPU:i5-4210M GPU:NVIDIA Geforce 940M

1 Anaconda3的安装与配置

1.1 下载

可以到Anaconda官网下载 历史版本:https://repo.anaconda.com/archive/ 国内的下载速度可能比较慢,选择到清华大学开源软件镜像站下载。 我使用的python 3.6.9,下载对于的Anaconda版本是5.1.0版本

在这里插入图片描述
在这里插入图片描述
1.2 安装

下载完之后是后缀.sh文件

在终端输入:

代码语言:javascript
复制
bash Anaconda3-5.1.0-Linux-x86_64.sh
代码语言:javascript
复制
Welcome to Anaconda3 5.0.1
 
In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>> 按回车
#然后一直按回车到协议完毕
#出现:
Do you accept the license terms? [yes|no]
>>>输入yes
#下面就是问你安装目录,建议就是默认的安装路径,直接按回车
Anaconda3 will now be installed into this location:
/home/mayunteng/anaconda3
 
  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below
 
[/home/mayunteng/anaconda3] >>> 按回车
#接下来就是等待安装完成
#注意安装完成以后会询问你是否把anaconda3的路径加到环境变量里去,一定要选yes,一定要选yes,一定要选yes。
1.3 切换默认Python版本

查看Python版本(此步为管理员操作,普通用户请跳过) 终端输入python查看版本,如果默认不是python3,则在终端输入:

代码语言:javascript
复制
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

执行完上述两行命令之后在终端输入python,如果第一行信息是3.6,则成功。效果图如下:

在这里插入图片描述
在这里插入图片描述

如果要切换到Python2,执行:

代码语言:javascript
复制
sudo update-alternatives --config python
1.4 添加环境变量

将Python添加到环境变量中. 如果在安装Anaconda的过程中没有将安装路径添加到系统环境变量中,需要在安装后手工添加. 第一步:打开bashrc文件.

代码语言:javascript
复制
vim ~/.bashrc

第二步:在文件末尾处添加以下语句

代码语言:javascript
复制
export PATH=/home/XXX/anaconda3/bin:$PATH    XXX为自己的用户名
在这里插入图片描述
在这里插入图片描述

(我的用户名是lirui,实际中要按照自己的用户名,这个也就是anaconda的安装目录)

1.5 使环境变量生效

让etc/profile文件修改后立即生效, 在终端输入:

代码语言:javascript
复制
source ~/.bashrc

至此,Anaconda安装成功! 如果没有成功,重启系统即可。 也可以在终端输入

代码语言:javascript
复制
echo $PATH

查看已有的环境变量 ,确认输出是否已经有Anaconda路径了。 终端输入python,可以看到有Anaconda出现,安装成功。

在这里插入图片描述
在这里插入图片描述

2 安装CUDA和CUDNN

2.1 NVIDIA驱动安装

在安装之前你要先查看你的电脑是否支持GPU运算,否则你也不用安装了。 拿着这个图形卡驱动到NAVIDIA官网去查是不是支持GPU运算。

网址是:https://developer.nvidia.com/cuda-gpus

打开后的界面大致如下,只要里边有你的型号就可以用GPU运算:

在这里插入图片描述
在这里插入图片描述

Ubuntu18.04自带了NVIDIA驱动,但是它没有安装完整,不能在终端使用nvidia-smi命令查看,在之后的CUDA编译测试里面也会出现问题,因此需要重新安装。重新安装的方式如下:

首先,检测你的NVIDIA图形卡和推荐的驱动程序的模型,在终端输入:

代码语言:javascript
复制
ubuntu-drivers devices
在这里插入图片描述
在这里插入图片描述

从中可以看到,这里有一个设备是Geforce 940M,对应的驱动是NVIDIA -440,所以安装440版本的驱动。安装驱动有两种方法:

  • 方法一、选择安装所有推荐的驱动.
代码语言:javascript
复制
sudo ubuntu-drivers autoinstall
  • 方法二、只安装其中一个驱动.
代码语言:javascript
复制
sudo apt install nvidia-440

这里我们选择第一种方式,安装完成后记得重启电脑!重启电脑!重启电脑! 最后验证是否安装成功,输入 sudo nvidia-smi

在这里插入图片描述
在这里插入图片描述

最好找到系统设置的“详细信息”部分,查看一下自己的图形卡是否已经是刚才的显卡。

在这里插入图片描述
在这里插入图片描述
2.2 GCC降级

因为Ubuntu18.04默认gcc7.0,而CUDA9.0只支持gcc6.0及以下版本,因此需要降级,这里选择降级到的版本是gcc5.5版本。 安装

代码语言:javascript
复制
sudo apt-get install gcc-5 g++-5

装完后进入到/usr/bin目录下,执行 ls -l gcc*

在这里插入图片描述
在这里插入图片描述

可以看到gcc连接到gcc7,我们要更改gcc链接。方法如下:

代码语言:javascript
复制
sudo mv gcc gcc.bak #备份
sudo ln -s gcc-5 gcc #重新链接

对g++做同样的修改:

代码语言:javascript
复制
ls -l g++*
sudo mv g++ g++.bak
sudo ln -s g++-5 g++

最后看gcc和g++版本号,如果是5.5代表修改成功:

在这里插入图片描述
在这里插入图片描述
2.3 安装依赖库

在终端输入:

代码语言:javascript
复制
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev
sudo apt-get install libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

成功安装完依赖库!

2.4 安装CUDA

我是选择的CUDA 9.0和CUDNN 7.05

只要记住CUDA的选择要根据CUDNN的型号来选,即CUDA的版本一定要和CUDNN的版本对应,必须是CUDNN支持的版本!

首先去官网下载CUDA安装包,注意根据你的系统选,最后一项选择runfile(local)。

CUDA最新版下载地址:https://developer.nvidia.com/cuda-downloads

以前版本的CUDA:https://developer.nvidia.com/cuda-toolkit-archive 找到我要下载的CUDA 9.0版本下载,时间有点长,下完安装就好了,几个小的更新包可以不安装。

在这里插入图片描述
在这里插入图片描述

进入刚刚下载的CUDA包的路径,执行命令:

代码语言:javascript
复制
sudo sh cuda_9.0.176_384.81_linux.run

一路按enter,结束协议后的设置如下,注意:第三个选项问是否安装NVIDIA Accelerated Graphics Driver驱动,选否

在这里插入图片描述
在这里插入图片描述

安装剩下的四个插件

代码语言:javascript
复制
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

添加环境变量

代码语言:javascript
复制
sudo gedit ~/.bashrc

在末尾添加:

代码语言:javascript
复制
export PATH=/usr/local/cuda-9.0/bin${ 
   PATH:+:${ 
   PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda9.0/lib64${ 
   LD_LIBRARY_PATH:+:${ 
   LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-9.0

测试CUDA 我在装的时候出现了Warning提示,然后就测试了一下:

代码语言:javascript
复制
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
在这里插入图片描述
在这里插入图片描述

显示 PASS,安装成功。

2.5 安装CUDNN

首先是下载CUDNN,前面在下载CUDA的时候就已经说过,CUDA要对应CUDNN的版本,我选择的是CUDA9.0+CUDNN7.05的版本。

要先注册登录,填一个调查问卷方可下载

官网:https://developer.nvidia.com/cudnn

选择cudnn v7.05 for cuda9.0 linux 下载完毕后,切到默认的Downloads文件夹,可以看到 cudnn-9.1-linux-x64-v7.tgz 压缩包,先解压,然后将其中的内容复制到CUDA安装文件夹里面.

代码语言:javascript
复制
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安装就完成。

3 安装Pytorch

可以参考博客:https://blog.csdn.net/red_stone1/article/details/78727096 这里推荐使用离线安装,不易出错,一劳永逸。

安装包下载地址:https://pytorch.org/previous-versions/ 这里我下载的是cu90/torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl版本的,0.3.0代表torch的版本,cp36代表支持的python版本,我的是python是3.6所以选择了cp36,linux_x86_64代表linux系统下的64位版本,cu90代表支持cuda9.0版本。

进入安装包的路径,执行:

代码语言:javascript
复制
pip install torch-0.3.0.post4-cp36-cp36m-linux_x86_64.whl 

接着执行:

代码语言:javascript
复制
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torchvision

然后验证pytorch和torchvision是否安装成功,在python命令行输入import torch,无警告代表成功。

代码语言:javascript
复制
lirui@lirui:~/下载$ python
Python 3.6.4 |Anaconda, Inc.| (default, Jan 16 2018, 18:10:19) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> 

至此,Pytorch安装成功! 最后,我们测试一下安装完这些能不能使用GPU加速: 打开Python,输入以下命令:

代码语言:javascript
复制
import torch as t
x = t.rand(5,3)
y = t.rand(5,3)
if t.cuda.is_available():
    x = x.cuda()
    y = y.cuda()
    print(x+y)

最后输出下面的界面代表成功调用GPU加速,否则没有成功调用。

代码语言:javascript
复制
 0.6720  0.8196  0.3007
 1.1233  0.4768  0.9952
 0.5416  0.4801  1.5302
 0.3140  0.8989  0.1525
 1.3961  1.2157  0.5667
[torch.cuda.FloatTensor of size 5x3 (GPU 0)]

装起来太难了,整个过程搞了快一天,真心好累

判断pytorch是否支持GPU加速

代码语言:javascript
复制
import torch as t
print(t.cuda.is_available())

输出为:True,即安装成功

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189062.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月26日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Anaconda3的安装与配置
    • 1.1 下载
      • 1.2 安装
        • 1.3 切换默认Python版本
          • 1.4 添加环境变量
            • 1.5 使环境变量生效
            • 2 安装CUDA和CUDNN
              • 2.1 NVIDIA驱动安装
                • 2.2 GCC降级
                  • 2.3 安装依赖库
                    • 2.4 安装CUDA
                      • 2.5 安装CUDNN
                      • 3 安装Pytorch
                      • 判断pytorch是否支持GPU加速
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档