Ubuntu 18.04+RTX2080Ti+CUDA10.1+CUDNN7.6.5+Pytorch1.3环境部署(详细教程)

Ubuntu 18.04+RTX2080Ti+CUDA10.1+CUDNN7.6.5+Pytorch1.3环境部署(详细教程)

修正:Ubuntu 18.04+RTX2080Ti建议安装cuda10.0,cudnn7.5.1,pytorch1.4.0+cu100 / torchvision0.5.0+cu100,tensorflow-gpu1.14.0
修正日期:20200611

安装方式与下文描述类似,只要选择上面的版本安装即可


一、安装cuda(准备工作

1、检查Linux版本是否支持CUDA
Ubuntu18.04 + RTX2080ti 支持

2、检查系统是否安装gcc

gcc --version

在这里插入图片描述
3、 检查是否安装了kernel header和 package development

在终端中输入: uname -r 可以查看自己的kernel版本信息
在终端中输入: sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel headerpackage development

4、运行nvidia-smi 查看现有驱动支持的cuda版本
在这里插入图片描述
(重要)根据上述运行结果查看driver version和CUDA Version的版本。此外,如果需要安装pytorch或者tensorflow,可登陆pytorch官网进行查看当前pytorch支持的cuda的版本,根据对应的版本下载pytorch。

5、下载官网run文件:cuda官网
在这里插入图片描述
下载完成后

6、runfile安装
A) 禁用 nouveau
终端中运行: lsmod | grep nouveau,如果有输出则代表nouveau正在加载。
因为我早就安装了NVIDIA的显卡驱动,禁用了nouveau,所以没有输出。
在这里插入图片描述
B) 切换到.run安装文件的路径,运行
sudo sh cuda_10.1.105_418.39_linux.run (10.2版本类似)!在这里插入图片描述在这里插入图片描述
注意:不安装driver,否则重启之后电脑一直蓝屏(踩坑)。

7、设置环境变量

终端输入:sudo gedit /etc/profile,输密码后进入,打开文件末尾,加入以下两行后保存。(10.2版本类似)

export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda10.1/lib64 

1)在终端输入sudo gedit ~/.bashrc

2)在文本的最后输入

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

目录要对应自己的cuda版本
3)然后source ~/.bashrc 激活环境
4)在终端输入nvcc -V出现下面画面则安装成功
!blog.csdnimg.cn/20200528154419611.png在这里插入图片描述
(图片参考:https://blog.csdn.net/hou9021/article/details/104311088)


重启:sudo reboot
开始测试cuda是否安装成功:
命令如下:

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

最后结果显示,如下:
在这里插入图片描述
(图片参考:https://blog.51cto.com/14204744/2464180?source=dra)

有些地方可能会不一样,只要最后是Result = PASS就代表这cuda10.1安装成功了。


CUDA卸载:

cd /usr/local/cuda/bin
sudo ./cuda-uninstaller

CUDNN安装

安装cuDNN 7.6.5版本,转到官网下载,下载前先注册一下,填个调查问卷,根据自己的环境和架构选择包,下载到本地
在这里插入图片描述
注意:具体的版本请参照官网,只需要与cuda的版本对应即可

切换到下载目录 cd Downloads ,然后按照以下操作进行,

解压: cuDNN Library for Linux
输入: tar -zxvf cudnn-10.1-linux-x64-v7.6.5.32.tgz

将解压出来的文件复制到安装的CUDA环境中,输入:

sudo cp cuda/include/cudnn.h /usr/local/cuda/inlude
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.h,可复制cuda/include/cudnn.h/usr/local/cuda/include/目录下

安装PyTorch1.3

进入PyTorch官网安装合适的版本,官网

输入: pip3 install torch torchvision ,等待安装结束(现在官网最新版本为1.5)
在这里插入图片描述
在这里插入图片描述
安装完成后,进入python3环境,验证是否成功,

输入: python3

再输入:

import torch
import torchvision

在这里插入图片描述
没有报错,说明安装成功。

最后验证下GPU能否使用,输入: print(torch.cuda.is_available()) ,输出True,说明没问题。

在这里插入图片描述


参考文章:https://www.cnblogs.com/booturbo/archive/2019/11/11/11834661.html

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2164.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java的线程安全、单例模式、JVM内存结构等知识学习和整理

    知其然,不知其所以然 !在技术的海洋里,前路漫漫,我一直在迷失着自我。欢迎访问我的csdn博客,我们一同成长!“不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!” 博客首页:http://blog.csdn.net/u010648555在下面的题目来自于我要加的一个QQ群,然后要加这个QQ群,首先要通过进阶考核,也就是下面这些题,当我看到这些题目的时候。发现这些题目很常见,但是细细去研究

  • c++开发面试问题(java面试app)

    面试智力题1、25皮马,5个赛道,求经过几场比赛,可以得到跑得最快的5皮马1)先把25皮马分成5组,分别每组进行比赛:(5场)A1A2A3A4A5、B1B2B3B4B5、C1C2C3C4C5、D1D2D3D4D5、E1E2E3E4E5。假设每组比赛后,结果如上所示。2)把每组最快的马拿出来进行比赛:(1场)A1B1…

  • 卷积神经网络CNN(1)——图像卷积与反卷积(后卷积,转置卷积)

    卷积神经网络CNN(1)——图像卷积与反卷积(后卷积,转置卷积)1.前言  传统的CNN网络只能给出图像的LABLE,但是在很多情况下需要对识别的物体进行分割实现endtoend,然后FCN出现了,给物体分割提供了一个非常重要的解决思路,其核心就是卷积与反卷积,所以这里就详细解释卷积与反卷积。  对于1维的卷积,公式(离散)与计算过程(连续)如下,要记住的是其中一个函数(原函数或者卷积函数)在卷积前要翻转180度图1  对…

  • thymeleaf判断对象是否为空的相关逻辑处理

    thymeleaf判断对象是否为空的相关逻辑处理thymeleaf判断对象是否为空有关逻辑处理在项目中,有时会遇到下面场景:添加页面和编辑页面共用一个页面,而通过后台传来的对象来判断提示用户是编辑页面还是添加页面,而编辑页面要使用这个对象的,添加页面用不到。在此记录下自己遇到的问题,看到了别人的博客才解决了@RequestMapping(path={“/add”,”edit”},method={RequestMethod.GET})publicStringaddOrEdit(Modelmodel,@RequestParam

  • Discuz 二次开发 (一) 目录结构和运行逻辑

    Discuz 二次开发 (一) 目录结构和运行逻辑Discuz二次开发(一)目录结构和运行逻辑目录结构DISCUZ使用自己的框架,与现在主流的web框架不同,DISCUZ没有路由表,他的路由是由入口文件来实现的。apiuc.phpUCenter通信文件/api/addons应用中心/api/connect通讯互联/api/googleGoogle引擎结构处理/api/javascript数据和广告的js调用/api/manyoumanyou应用及搜索等相关服务/api/remote远程更新/api/tr

  • Java中static块执行时机

    Java中static块执行时机在使用static进行初始化的操作,怎么也执行不了!代码如下:public class StaticDemo { public static final String INIT = "init"; static { System.out.println("——StaticDemo—-"); }}…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号