机器学习------ 基于ubuntu 22.04 系统下的pytorch 安装记录过程(包含cuda和cudnn的安装)

news/2024/4/23 15:40:42/文章来源:https://blog.csdn.net/weixin_44237337/article/details/129170178

机器学习----- pytorch的安装过程

  • 最近,在学习机器学习,在对于理论方面进行一段时间的学习后,打算开始上手代码。在此之前,选择了pytorch作为学习的工具,这里记录下安装的过程。
  • 在这里,先把我的设备展示一下,我这里使用的还是windows 11的系统,搭建了一个基于windows的WSL-Ubuntu系统ubuntu的版本为22.04CPU为i7-12700
    GPU为rtx 3060tikernel为x86_64, 已经提前安装完成了anaconda软件,具体情况如下所示:
    在这里插入图片描述
    打开pytorch的官网:官网地址,向下拖动可以看见:
    在这里插入图片描述
    这里可以根据你的需求进行挑选,我这里选择Linux系统,和cuda11.6.

因为想要使用GPU,所以需要先安装CudaCudnn,在安装cuda和cudnn的版本之前,先要确认一下你的显卡(我这里是3060ti)最低兼容的版本。
遇事不决,先问一下AI:
在这里插入图片描述

  • 我这里暂时没有考虑到学习框架的事儿,就是熟悉一下安装流程,所以我选用最新的cuda版本进行安装

cuda的安装

打开cuda的 下载界面:cuda

  • 选择,最新的版本

    cuda-12
    在这里插入图片描述
    这里,根据自己的具体系统环境进行选择

在这里插入图片描述

选择完之后会得到:
在这里插入图片描述

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.1/local_installers/cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-0-local_12.0.1-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda

然后,在你的终端输入上面的代码,等待运行完成。完成之后,需要配置一下环境。注意,我这里是将bashrc换为了zshrc,大家根据自己的进行修改:

sudo vi ~/.zshrc

在文本最后面加入:

export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-12.0/lib64

重新加载环境以及动态链:

source ~/.zshrc
sudo ldconfig

检查是否安装成功:

nvcc -V

在这里插入图片描述
这样子就是搞定了

安装cudnn

前往官网下载:cudnn

  • 这个网址貌似需要注册一下,这个是小问题
    在这里插入图片描述
    点击,然后:
    在这里插入图片描述
    这里我选择了11.x的版本,为什么没有选择12与cuda进行对应呢。因为当时看错了,等我发现的时候已经进行安装了。在这里插入图片描述
    选择这个,可以通过 wget 命令下载到服务器上:
wget https://developer.nvidia.com/downloads/c118-cudnn-linux-8664-880121cuda11-archivetarz

但是由于文件好像比较大,容易卡。我后来是先下载到本地,然后再传到服务器上的。

打开终端,进入 cuDNN 压缩包所在的文件夹,执行以下命令:

tar -xzvf cudnn-xx.x-linux-x64-v8.x.x.x.tgz

其中,xx.x 是 CUDA 的版本,v8.x.x.x 是 cuDNN 的版本。例如,如果安装的是 CUDA 12.0,cuDNN 的版本是 v8.1.1,则执行以下命令:

tar -xzvf cudnn-12.0-linux-x64-v8.1.1.33.tgz

将解压后的文件夹拷贝到 CUDA 的安装路径下的相应文件夹中,通常为 “/usr/local/cuda-xx.x”,其中 xx.x 是 CUDA 的版本。

例如,如果安装的是 CUDA 12.0,则执行以下命令.注意,如果你是其他的版本,就把12.0对应修改

sudo cp cuda/include/cudnn*.h /usr/local/cuda-12.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-12.0/lib64
sudo chmod a+r /usr/local/cuda-12.0/include/cudnn*.h /usr/local/cuda-12.0/lib64/libcudnn*

添加环境变量。打开终端,执行以下命令:

echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64:$LD_LIBRARY_PATH' >> ~/.zshrc
source ~/.zshrc

最后,可以通过执行以下命令来验证 cuDNN 是否安装成功:

cat /usr/local/cuda-12.0/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

如果成功安装,应该能够看到类似下面的输出:

#define CUDNN_MAJOR 8
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 1
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

以上是在 Ubuntu 22.04 上安装符合 CUDA 12 的版本的 cuDNN 的步骤。在安装 cuDNN 之前,请确保已经正确安装了对应版本的 CUDA。


完成以上两步骤之后,就搞定了90%了。

下面,就是在anaconda下,创建一下新的环境,命名为pytorch:

conda create -n pytorch python=3.9.0

然后,回到之前pytorch的官网,选择对应的需求:

在这里插入图片描述
激活环境后,运行上述红框中的命令:

conda activate pytorch
conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia

等待安装完成,然后验证是否成功:

命令行输入:python

import torch
torch.cuda.is_available()

在这里插入图片描述
安装完成,大功告成~~~

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html
https://pytorch.org/

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

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

相关文章

java10-异常处理

1.异常处理体系结构 2.从程序执行过程看编译时异常和运行时异常 》编译时异常:执行javac.exe命令时,可能出现的异常 》运行时异常:执行java.exe命令时,出现的异常 3.常见的异常类型,请举例说明: Test …

PCL 平面拟合方法 对比

目录 一、最小二乘法 (Least Squares, LS) 二、采样一致性(Sample Consensus)方法 2.1 pcl::LeastMedianSquares (LMedS) 2.2 pcl::RandomSampleConsensus (RANSAC) 2.3 pcl::MEstimatorSampleConsensus (MSAC) 2.4 pcl::RandomizedRandomSampleCo…

解决Ubuntu22.04.1上安装ch34x串口驱动报 Key was rejected by service 需要签名的问题

解决Ubuntu22.04.1上安装ch34x串口驱动报 Key was rejected by service 需要签名的问题问题官网下载解压驱动包编译安装给驱动签名再来载入模块(设备驱动程序)问题 Ubuntu22.04.1 Linux版本5.19.0-32-generic 运行Qt串口通信 m_serialPort->open(QIO…

数组类模板

要求:设计一个数组模板类(MyArray),完成对不同类型元素的管理操作步骤设计头文件在 qtcreate下先创建03_code的项目,然后右键点击03_code添加新文件,点击头文件,点击Choose命名为 myarry.hpp&am…

[黑马程序员SSM框架教程]03 spring核心概念

IOC/DI 书写现状:耦合度偏高 如图:传统书写代码左边业务层需要new一个对象进行业务实现。当数据层优化代码BookDaoImpl2就需要动业务层代码重新修改new的对象。导致代码耦合度偏高。 解决办法:使用对象,不要主动new对象&#xff…

设计模式.工厂模式.黑马跟学笔记

设计模式.工厂模式4.创建型模式4.2 工厂模式4.2.1 概述4.2.2 简单工厂模式4.2.2.1 结构4.2.2.2 实现4.2.2.4 优缺点4.2.2.3 扩展4.2.3 工厂方法模式4.2.3.1 概念4.2.3.2 结构4.2.3.3 实现4.2.3.4 优缺点4.2.4 抽象工厂模式4.2.4.1 概念4.2.4.2 结构4.2.4.2 实现4.2.4.3 优缺点4…

关于java8的List的stream流的foreach()方法问题探究(坑)与替代方案

一、起因 今天发现线上系统出现了一个bug&#xff0c; 我有一个“定时任务”每天凌晨触发&#xff0c;任务内容&#xff1a; ① 定时调用的系统暴漏的接口&#xff0c;来定时获取List<Object>数据。 ② 然后我会筛选出该List中符合条件的Object&#xff0c;对筛选出来的…

【Python入门第十五天】Python字典

字典&#xff08;Dictionary&#xff09; 字典是一个无序、可变和有索引的集合。在 Python 中&#xff0c;字典用花括号编写&#xff0c;拥有键和值。 实例 创建并打印字典&#xff1a; thisdict {"brand": "Porsche","model": "911&q…

科技新浪推前浪 ChatGPT将元宇宙“拍在沙滩上”?

近期ChatGPT的热度显然已经盖过了元宇宙&#xff0c;回想去年元宇宙大热之际&#xff0c;很多企业纷纷跟进&#xff0c;甚至还有不少公司选择更名以表达All In元宇宙的决心。而如今ChatGPT抢占风头&#xff0c;成为新宠&#xff0c;元宇宙似乎被“抛弃”了&#xff0c;难道元宇…

【React npm】从零搭建react脚手架,发布组件库到npm,并实现按需加载(二)

发布react组件库前情回顾介绍搭建脚手架配置babelrc配置jsconfig写入组件demo修改主入口文件配置生产环境webpack配置package.json发布实现按需加载前情回顾 前面写过一篇&#xff0c;发布单个组件到npm的&#xff1a; https://blog.csdn.net/tuzi007a/article/details/12911…

【HTML】HTML 表单 ⑤ ( form 表单域 )

文章目录一、form 表单域1、form 表单域作用2、form 表单域语法3、form 表单域 Get 请求4、form 表单域 Post 请求一、form 表单域 1、form 表单域作用 从 input 表单 , textarea 文本域 , select 下拉菜单 中收集了用户信息 , 需要通过 form 表单域 发送给 服务器端 ; 2、fo…

第十一章 - 模糊匹配(like)、正则匹配(REGEXP)、文本处理函数、时间处理函数

第十一章 - 模糊匹配&#xff08;like&#xff09;、正则匹配&#xff08;REGEXP&#xff09;、文本处理函数、时间处理函数模糊匹配和正则匹配like%通配符_通配符REGEXP 正则匹配文本拼接concat&#xff08;&#xff09;substring()substring_index()一些文本处理函数时间处理…

【计算机组成原理】求寻址范围(按字/按字节)

今天一道计算机组成原理的复习题一直没搞懂怎么做的&#xff0c;网上讲解求寻址范围题型的资料和视频也很少&#xff0c;花了半个晚上才搞懂。 首先&#xff0c;理解存储体&#xff0c;存储单元&#xff0c;存储字&#xff0c;存储元。&#xff08;文章末尾详细解释了) 以下是…

2022年休闲游戏市场总结

在预测 2023 年之前&#xff0c;我们先回顾一下 2022 年。从上一年发生的事件中往往能看到未来趋势的影子&#xff0c;所以 2022 年的总结至关重要。一、2022年总结回顾1、流行游戏类型回顾 2022 年&#xff0c;三种超休闲游戏表现最为突出&#xff1a;跑酷游戏&#xff1a;跑酷…

你知道IT运维的本质是什么吗?

大家好&#xff0c;我是技福的小咖老师。 之前看到个文章&#xff0c;说运维的本质是“可视化”&#xff0c;甚至还有人说是DevOps。不可否认&#xff0c;“可视化”是运维过程中非常重要的一个环节&#xff1b;DevOps则是开发运维一体化非常重要的工具。 究其根本&#xff0…

leetcode重点题目分类别记录(一)数据结构类

算法题分类别记录数组排序归并排序合并两有序数组归并排序快速排序荷兰旗问题快速排序堆排序基数排序滑动窗口/双指针N数之和四数相加链表环形链表重排链表LRU缓存栈与队列栈实现队列/队列实现栈最小栈/最小队列单调队列单调栈哈希表字符串字符串处理字符串匹配KMP子串二叉树二…

Dart的安装及环境变量配置

本文介绍dart的安装步骤及环境变量配置&#xff0c;以及如何在vscode中进行开发环境配置。一、dart的安装访问dart官网https://dart.cn/&#xff0c;点击网站右上角的获取DART SDK进行下载页面。如下图&#xff0c;选择下载SDK的zip压缩文件。根据自己的操作系统情况选择合适版…

吉卜力风格水彩画怎么画?

著名的水彩艺术家陈坚曾说&#xff1a;“水彩是用水润调和形成的饱和度极高的艺术画面&#xff0c;在纸上晕染的画面面积、强度等具有许多随意性&#xff0c;天空的颜色乌云密布&#xff0c;都是很随意的&#xff0c;难以模仿。” 是的&#xff0c;水彩画的妙处就在于不确定的…

apk中代码执行adb指令实现

背景&#xff1a;想要在android apk中直接使用adb指令&#xff0c;从而不需要把手机通过数据线方式连接到电脑&#xff0c;在电脑端执行adb指令。 一、权限相关 想要在apk代码中执行adb命令&#xff0c;涉及到执行权限。 首先手机需要有root权限。其次就算手机已经root了&…

(18)目标检测算法之数据集标签格式转换:json2txt、xml2txt

目标检测算法之数据集标签格式转换&#xff1a;json2txt、xml2txt 目标检测最常见的模型&#xff1a;YOLO&#xff0c;常见的几种标注方式&#xff1a;矩形框、旋转矩形框、实例分割中的多边形标注等类型&#xff0c;根据其标注标签&#xff0c;目标检测主要有以下两种转换方式…