在服务器(Ubuntu20.04)安装用户级别的cuda11.8(以及仿照前面教程安装cuda11.3后安装cudnn和pytorch1.9.0)

1、cuda11.8的下载

首先在cuda官网下载我们需要的cuda版本,这里我下载的是cuda11.8(我的最高支持cuda12.0)
在这里插入图片描述
在这里插入图片描述

这里我直接使用wget命令下载不了,于是我直接在浏览器输入后面的链接下载到本地,之后再上传至服务器的:

https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

2、cuda11.8的安装

(1)假设用户名为andy,即/home/andy,在这个文件夹下手动创建一个文件夹名为cuda-11.8(即/home/andycuda-11.8),然后在cuda-11.8文件夹里创建一个文件夹为mylib(即/home/andycuda-11.8/mylib)。接下来把之前下载的cuda_11.8.0_520.61.05_linux.run文件上传到/home/andy/cuda-11.8文件夹。
(2)接下来使用如下命令进入此文件夹:

/home/andy/cuda-11.8

然后使用如下命令更改文件的执行权限:

chmod 755 cuda_10.2.89_440.33.01_linux.run

于我们不是管理员用户,因此无法使用sudo安装,因此直接执行以下命令安装:

 sh cuda_10.2.89_440.33.01_linux.run

(3)接下来的参考:手把手教会你在Linux服务器上安装用户级别的CUDA
1)在这里输入accept
在这里插入图片描述
2)然后类似于上述这个教程的图片(自己的忘记保存了,原理是一样的):我安装的是11.8,那就是只勾选CUDA Toolkit 11.8,其他的按Enter键就可以把里面的X取消。
在这里插入图片描述
3)在取消其他的勾选之后,光标移动到Options这里,按Enter。

然后光标移动到Change Toolkit Install Path,按Enter,然后我们可以将之前创建的目录粘贴过来:

/home/andy/cuda-11.8

然后移动到Done,再按Enter,又回到之前的界面。

4)回到Options菜单,光标移动到Library install path,按Enter,然后在里面将之前创建的另一个目录粘贴过来:

/home/andycuda-11.8/mylib

回车Done。

5)然后返回主界面,选择Install

3、安装完成后的环境配置

当看到界面里有successfully的字眼时,就表明安装成功了。这时候,还需要进行环境配置。
首先进入到用户主目录里cd /home/andy

执行vim ~/.bashrc修改命令相关参数:按i进入编辑模式,然后在最下方按鼠标右键粘贴即可添加刚刚安装cuda的路径:

export PATH="/home/andy/cuda-11.8/bin:$PATH"
export LD_LIBRARY_PATH="/home/andy/cuda-11.8/lib64:/home/andy/cuda-11.8/mylib/lib64:$LD_LIBRARY_PATH"

之后按Esc,再按:,接下来输入wq,即可保存并退出。

最后执行以下命令,使配置生效:

source ~/.bashrc

4、检查CUDA和pytorch能否使用.

命令行输入 nvcc -V 查看cuda版本,如果符合预期,则安装成功。

在这里插入图片描述

以下是cuda11.3对应的cudnn安装和pytorch1.9.0的安装

1、仿照上面教程安装cuda11.3之后,安装cudnn参考这个:

【Ubuntu 20.04LTS系统】安装CUDA11.8、cuDNN,可进行CUDA版本切换

先下载cudnn到本地:
cudnn官网链接
这里选择下载:
在这里插入图片描述
在这里插入图片描述

(1)首先在/home/andy下创建一个新的文件夹:/home/andy/cudnn-cuda11.3
(2)然后将在本地下载的cudnn-11.3-linux-x64-v8.2.1.32.tgz 上传至此文件夹
(3)进入此文件夹:

cd /home/andy/cudnn-cuda11.3

(4)解压tgz文件(注意:如果下载的cudnn文件后缀不是.tgz要记得先修改为.tgz):

tar -xvf cudnn-11.3-linux-x64-v8.2.1.32.tgz

(5)解压后在/home/andy/cudnn-cuda11.3出现一个/home/andy/cudnn-cuda11.3/cuda文件夹
先进入此cuda文件夹:

cd /home/andy/cudnn-cuda11.3/cuda/

再输入ls查看此文件夹下的文件

 ls

出现:

include lib64 NVIDIA_SLA_cuDNN_Support.txt

先输入cd ~回到用户主界面
再将cuDNN对应文件拷贝至CUDA指定路径:

sudo cp /home/andy/cudnn-cuda11.3/cuda/include/cudnn*.h /home/andy/cuda-11.3/include
sudo cp /home/andy/cudnn-cuda11.3/cuda/lib64/libcudnn* /home/andy/cuda-11.3/lib64
sudo chmod a+r /home/andy/cuda-11.3/include/cudnn*.h /home/andy/cuda-11.3/lib64/libcudnn*

参考:最后一部分
在这里插入图片描述

2、接下来先创建一个虚拟环境env1,它的python版本为3.7

如果使用conda下载不了就参考这个博客,使用离线安装:

conda create -n env1 python=3.7

3、然后下载torch1.9.0和torchvision0.10.0

进入pytorch官网
按ctrl+F搜索1.9.0出现下面这个,然后使用第二个命令(因为我们安装的是11.3版本的)来安装

conda install pytorch==1.9.0 torchvision==0.10.0 torchaudio==0.9.0 cudatoolkit=11.3 -c pytorch -c conda-forge

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/283080.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【洛谷 P8715】[蓝桥杯 2020 省 AB2] 子串分值 题解(组合数学+乘法原理)

[蓝桥杯 2020 省 AB2] 子串分值 题目描述 对于一个字符串 S S S, 我们定义 S S S 的分值 f ( S ) f(S) f(S) 为 S S S 中恰好出现一次的字符个数。例如 f ( ′ ′ a b a ′ ′ ) 1 f\left({ }^{\prime \prime} \mathrm{aba}{ }^{\prime \prime}\right)1 f(′′aba′′)…

高手勿入:连问chatGPT九个问题,解决个简单前端问题,无剪辑。

将layui弹窗button默认文字:确定,修改为其他文字,就这么个简单问题,把前端妹子(新手)难坏了,向我求助,我没有像以往一样直接给答案,而是以新手的方式求助chatgpt&#xf…

Docker进阶教程 - 2 Docker部署SpringBoot项目

更好的阅读体验:点这里 ( www.doubibiji.com ) 2 Docker部署SpringBoot项目 已经学习了 Dockerfile 了,下面介绍一下如何将 SpringBoot 项目通过 Dockerfile 来部署到 Docker 中。 1 修改项目配置 首先需要准备一个 SpringBo…

工具类|将Entity对象转为Vo/Bo对象,并指定字段绑定

工具类|将Entity对象转为Vo/Bo对象,并指定字段绑定 实体类:People和Student,Student的三个字段和People意义一样,但是字段名不完全一样,要实现对象拷贝可使用如下工具类,用到了反射。 People.java Data AllArgsConst…

Spring Boot 3 极速搭建OAuth2认证框架

本篇环境 Java 17Spring Boot 3.2.3Spring Authorization Server 1.2.3开发工具 SpringToolSuite4Spring Boot 3.2.3 需要JDK 17及之上的版本。 项目初始化 项目可以使用Spring的初始化器生成, 也可以创建一个Maven类型的项目。 项目创建后的目录结构如下: 项目配置 使用 …

spring suite搭建springboot操作

一、前言 有时候久了没开新项目了,重新开发一个新项目,搭建springboot的过程都有点淡忘了,所有温故知新。 二、搭建步骤 从0开始搭建springboot 1.创建work空间。步骤FileNewJava Working Set。 2.选择Java Working Set。 3.自…

SQLiteC/C++接口详细介绍sqlite3_stmt类(九)

返回:SQLite—系列文章目录 上一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(八) 下一篇: SQLiteC/C接口详细介绍sqlite3_stmt类(十) 33、sqlite3_column_table_name 函数 sqlite3_column_ta…

智慧城市中的智慧生活:便捷、舒适与高效

目录 一、智慧城市中的智慧生活概述 二、智慧生活带来的便捷性 1、智慧交通的便捷出行 2、智慧购物的轻松体验 3、智慧政务的一站式服务 三、智慧生活带来的舒适性 1、智慧环境的绿色宜居 2、智慧医疗的健康保障 3、智慧教育的均衡发展 四、智慧生活带来的高效性 1、…

ios symbolicatecrash 符号化crash

一、准备 1.1 .crash 文件获取 设备连接电脑 打开XCode, 依次 XCode -> Windows -> Device and Simulator -> Open Recent Logs 找到 (对应app名+时间点) -> 右键 Show in Finder 1.2 .dSYM 和 .app 文件获取 .dSYM是十六进制函数地址映射信息的中转文件,调试的…

Git原理及使用

1、Git初识 Git是一种版本控制器: 对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。 通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。 注意: Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码…

ARM-Linux 开发板下安装编译 OpenCV 和 Dlib

安装 OpenCV 和 Dlib 不像在 x86 平台下那样简单,用一句命令就可以自动安装完。而在 ARM 平台中许多软件都需要自行下载编译,且还有许多问题,本篇文章就是记录在 ARM 平台下载 OpenCV 踩过的坑。 硬件环境: RK3568 Ubuntu20.04…

【练习】双指针算法思想

🎥 个人主页:Dikz12🔥个人专栏:Java算法📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 1. 移动零 1.1 题目描述 1.2 讲解算法原理 1.3 编…

【Kafka系列】Kafka事务一般在什么场景下使用呢

面试官:听说你精通Kafka,那我就考考你吧 面试官:不用慌尽管说,错了也没关系😊。。。 以【面试官面试】的形式来分享技术,本期是《Kafka系列》,感兴趣就关注我吧❤️ 面试官:生产者重…

ideaSSM 学员信息管理系统bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 idea 开发 SSM 学员信息管理系统是一套完善的信息管理系统,结合SSM框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用SSM框架(MVC模式开发),系统具有完整的源代码和数据库&#xff…

现代游戏引擎架构

一、并行编程 1.1 为什么需要并行编程 游戏的渲染计算对算力要求很高,所以我们需要把操作系统的资源利用到极致。 但是摩尔定律已经不在适用了,硬件的发展目前已经达到瓶颈。所以我们需要通过数量来提高计算效率。 1.2 并行编程基础 进程与线程&#…

eclipse中使用PlantUML plugin查看对象关系

一.背景 公司安排的带徒弟任务,给徒弟讲了如何设计对象。他们的思维里面都是单表增删改查,我的脑海都是一个个对象,他们相互关系、各有特色本事。稳定的结构既能满足外部功能需求,又能在需求变更时以最小代价响应。最大程度的记录…

NIVision-相机图像采集

应用场景 上位机与工业相机通讯,控制相机抓取图像。 工业相机的通讯接口大多为USB口或网口。 USB口则直接将通讯线缆插入上位机USB端口,打开MAX中设备与接口一栏可以看到电脑给相机分配的资源名称;网口则需要将网线连接相机和上位机&#xf…

课时72:流程控制_for循环_嵌套循环

1.1.1 嵌套循环 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 这里的嵌套实践,与选择语句的嵌套实践基本一致,只不过组合的方式发生了一些变化。常见的组合样式如下:for嵌套for语句for …

基于python+vue学生作业管理系统flask-django-nodejs-php

快速发展的社会中,人们的生活水平都在提高,生活节奏也在逐渐加快。为了节省时间和提高工作效率,越来越多的人选择利用互联网进行线上打理各种事务,然后线上管理系统也就相继涌现。与此同时,人们开始接受方便的生活方式…

docker 不同架构镜像融合问题解决

1、背景 docker 作为目前容器的标准之一,但是对于多种架构的平台的混合编译支撑不是很好。因此衍生了镜像融合,分别将多种不同的架构构建好,然后将镜像进行融合上传。拉取镜像的会根据当前系统的架构拉取不同的镜像,也可以通过 -…