PyTorch深度学习环境安装(Anaconda、CUDA、cuDNN)及关联PyCharm
1. 关系讲解
-
Tytorch:Python机器学习库,基于Torch,用于自然语言处理等应用程序 -
Anaconda:是默认的python包和环境管理工具,安装了anaconda,就默认安装了conda -
CUDA:CUDA是一种由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能解决复杂的计算问题,可用来计算深度学习 -
cuDNN:是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。
2. 安装Anaconda
Anaconda用于构建虚拟环境
这里直接用清华源镜像进行下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
一路next即可,建议勾选自动添加环境变量
输出环境查看,表示安装成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zO9tyVG1-1691462352016)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803100552062.png)]](https://img-blog.csdnimg.cn/7f2a6e1ecfef4517b335a746081bd143.png)
3. 安装CUDA
3.1 正常安装
先查看本机NVIDIA支持的CUDA版本,查看左下角的系统信息-组件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nxRnMmhX-1691462352017)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803101158505.png)]](https://img-blog.csdnimg.cn/3b7c7e5f000b4358878a004cd88dc640.png)
所以我们下载的版本应该低于12.0.89

下载CUDA,直接前往官网下载:https://developer.nvidia.com/cuda-toolkit-archive
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hV9NCwdG-1691462352017)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803102744841.png)]](https://img-blog.csdnimg.cn/67cc3cc1a04e4ce889aab332e5bfaae0.png)
根据自己的电脑版本,选择CUDA版本
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hs8SuLoN-1691462352017)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803102713502.png)]](https://img-blog.csdnimg.cn/2ccd77bf20e2444c90e1eee3edb051c1.png)
双击exe文件进行安装,推荐使用默认地址安装,同意并安装


自定义安装,并且全选所有的组件,但是取消选择visual studio

记住安装路径,方便后续配置环境变量

等待下载,安装完毕即可

查看环境变量,有两个变量是自动添加的
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b4twhJVt-1691462352018)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803105158490.png)]](https://img-blog.csdnimg.cn/faca9f86a6494cbc9af3dcb873b3ba28.png)
在环境变量Path中,需要我们额外添加三个目录,版本根据自己的版本进行更改(例如我的是v11.8)
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\CUPTI\lib64
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fw0vPG8G-1691462352018)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803110847581.png)]](https://img-blog.csdnimg.cn/b67160900f304c65af3f809518b5dd26.png)
打开cmd,输入
set PATH=c:
然后输入
echo %PATH%
关闭cmd,之后再次开启命令提示符,输入
echo %PATH%
使新添加的环境变量生效
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ka2k8zen-1691462352019)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803111434585.png)]](https://img-blog.csdnimg.cn/6fc62f6427ed42d680c7f836af71f553.png)
查看版本nvcc -V
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4IIfMOE3-1691462352020)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803111502835.png)]](https://img-blog.csdnimg.cn/1bc55b667d14462c872b4334fc8919fa.png)
查看设置的环境变量set cuda
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-93x7opAy-1691462352020)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803111604833.png)]](https://img-blog.csdnimg.cn/1f6411868c194d2eb453a13248062158.png)
3.2 碰到的问题
可能输入环境变量会显示错误
先切换到CUDA对应的文件夹下面:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite,在这个文件夹下打开终端
输入两个命令:
.\bandwidthTest.exe
.\deviceQuery.exe
- 若最后都显示
pass,说明安装无误,是环境变量配置出错,再次按照上述环境变量配置的方法进行配置即可 - 若最后显示的不是
pass,说明安装错误,需要把原来的卸载并且重新安装
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QjbUlxaC-1691462352021)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803110119138.png)]](https://img-blog.csdnimg.cn/0cbff7e95aa549a892ea0dd5e2c2297b.png)
4. 安装cuDNN
下载cuDNN,下载之前需要注册账号,有点小麻烦,直接前往官网下载:https://developer.nvidia.com/rdp/cudnn-download
![根据版本下载对应的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sQ50hW12-1691462352021)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803114202407.png)]](https://img-blog.csdnimg.cn/f50076a3b39b4c7f8487320b5a5139bb.png)
下载Win版本,下载完毕后是一个压缩包
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZnWsM7fl-1691462352022)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803114420917.png)]](https://img-blog.csdnimg.cn/b0be1074eedd4f028f8c853c2c9998c7.png)
分别将cuDNN三个文件夹的内容分别复制到CUDA对应的文件夹里面。如下所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NUiZ7F3a-1691462352023)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803115421676.png)]](https://img-blog.csdnimg.cn/ce0a2972b6e14a0d9135bd8be01cebf3.png)
在环境变量Path中添加三个目录
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9BtV27vC-1691462352023)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803115954289.png)]](https://img-blog.csdnimg.cn/48c4d089655946b08484213aabba9194.png)
再次切换到CUDA的安装目录C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\demo_suite
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HbKcXmgV-1691462352024)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803120532693.png)]](https://img-blog.csdnimg.cn/e2fda3c2a0bc4714b2816c4a53c58c48.png)
运行两个测试文件.\bandwidthTest.exe和.\deviceQuery.exe,显示Pass即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VxI8s9Bt-1691462352024)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803120318276.png)]](https://img-blog.csdnimg.cn/08641e721f474ebc8b12b2723ad9386a.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I15xVecW-1691462352025)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803120344257.png)]](https://img-blog.csdnimg.cn/34d31df6766641f18e21e324905d3f89.png)
5. 安装PyTorch
PyTorch 一分为三:torch、torchvision 与 torchaudio。这三个库中,torch 有 2G 左右,而 torchvision 和torchaudio只有 2M 左右,因此一般在代码里只会 import torch。当 torch 的版本给定后,另外两个附件的版本也唯一确定了。
安装 torch 前,先给出一张安装表,其中 cu113 即 cuda 11.3,cp39 即解释器的版本是 Python3.9
到目前位置,我们安装的软件版本如下,则我们下载 torch 2.0.0的版本:
Anaconda:4.5.4CUDA:11.8cdDNN:8.9python:3.9
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RLPqzkE-1691463175687)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803165339889.png)]](https://img-blog.csdnimg.cn/15c3cdcafc3c4e5eb257b8009f7357e4.png)
前往官网https://pytorch.org/get-started/previous-versions/查看torch 2.0.0对应的库版本
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2Go56vw-1691463175688)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803171709054.png)]](https://img-blog.csdnimg.cn/65c3a99d8cdd4223a022319988475447.png)
# CUDA 11.8
pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 torchaudio==2.0.1 --index-url https://download.pytorch.org/whl/cu118
即对应的版本为
torch==2.0.0+cu118
torchvision==0.15.1+cu118
torchaudio==2.0.1
因为直接安装网速较慢,所以利用单个下载再逐一安装的方式进行安装配置,进入对应的网站:https://download.pytorch.org/whl/cu118
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Ua5iIby-1691463175688)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803170552930.png)]](https://img-blog.csdnimg.cn/10102a5ea83248febd74663139e14c4a.png)
分别进入找到对应的版本


这里特别注意,torchaudio下载的版本为torchaudio==2.0.1+cu118,但是这个在官方下载中未指定cuda的版本,我们需要手动添加

进入虚拟环境DL,执行命令安装上述三个whl文件
pip install D:\Anaconda3_5.2\WHL\torch-2.0.0+cu118-cp39-cp39-win_amd64.whl
pip install D:\Anaconda3_5.2\WHL\torchaudio-2.0.1+cu118-cp39-cp39-win_amd64.whl
pip install D:\Anaconda3_5.2\WHL\torchvision-0.15.1+cu118-cp39-cp39-win_amd64.whl
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fj4ouHbA-1691463175689)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803172700537.png)]](https://img-blog.csdnimg.cn/68eb703c03244c7a8ac84aee2248f902.png)
安装完毕后进入python解释器进行验证
输入 import torch 导入 torch 库,再输入torch.cuda.is_available(),输出True即为安装成功
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PWNIzmbP-1691463175689)(C:\Users\29973\AppData\Roaming\Typora\typora-user-images\image-20230803173146178.png)]](https://img-blog.csdnimg.cn/a815685a59214200a8aba7659e005b00.png)
6. 关联PyCharm
新建项目,选择已经存在的解释器

选择我们已经创建的Anaconda环境

选择完毕后,直接创建

相关文章:
PyTorch深度学习环境安装(Anaconda、CUDA、cuDNN)及关联PyCharm
1. 关系讲解 Tytorch:Python机器学习库,基于Torch,用于自然语言处理等应用程序 Anaconda:是默认的python包和环境管理工具,安装了anaconda,就默认安装了conda CUDA:CUDA是一种由显卡厂商NVIDI…...
Active Directory安全和风险状况管理
风险评估和管理 风险评估和管理是主动安全性和合规性管理不可或缺的一部分。 发现关键基础设施组件中的风险行为和配置对于阻止网络入侵和预防网络攻击至关重要。帐户泄露和配置错误漏洞是用于破坏网络的常见技术。当评估、监控和降低 Active Directory 基础架构的风险时&…...
学术论文GPT源码解读:从chatpaper、chatwithpaper到gpt_academic
前言 之前7月中旬,我曾在微博上说准备做“20个LLM大型项目的源码解读” 针对这个事,目前的最新情况是 已经做了的:LLaMA、Alpaca、ChatGLM-6B、deepspeedchat、transformer、langchain、langchain-chatglm知识库准备做的:chatpa…...
单链表(C语言版)
单链表:理解、实现与应用 单链表(Singly Linked List)是一种常见的数据结构,用于存储一系列具有相同类型的元素,并通过节点之间的链接建立起它们的关系。每个节点包含一个数据元素和一个指向下一个节点的指针。相比于…...
初学vue3时应该注意的几个问题
初学vue3时应该注意的几个问题 声明响应式 响应式数据的声明在vue2的时候很简单,在data中声明就行了。但现在可以使用多个方式。 reactive用于声明Object, Array, Map, Set; ref用于声明String, Number, Boolean 使用reactive来声明基础数据类型(Str…...
基于Selenium技术方案的爬虫入门实践
通过爬虫技术抓取网页,动态加载的数据或包含 JavaScript 的页面,需要使用一些特殊的技术和工具。以下是一些常用的技术方法: 使用浏览器模拟器:使用像 Selenium、PhantomJS 或其他类似工具可以模拟一个完整的浏览器环境࿰…...
【C++入门到精通】C++入门 —— vector (STL)
阅读导航 前言一、vector简介1. 概念2. 特点 二、vector的使用1.vector 构造函数2. vector 空间增长问题⭕resize 和 reserve 函数 3. vector 增删查改⭕operator[] 函数 三、迭代器失效温馨提示 前言 前面我们讲了C语言的基础知识,也了解了一些数据结构࿰…...
git简单使用
1.在 远端仓库创建好仓库 2.在本地中创建仓库 mkdir 仓库名 cd 仓库名 3.初始化(可以省略) git init 4.添加远端仓库 git remote add origin https://gitee.com/zengtian_7/pet_home.git 5.初始化代码库:当你创建一个全新的代码库时,…...
CSS—选择器
目录 一、CSS简介 二、HTML页面中常用的元素 三、CSS语法规则 四、常用的选择器 五、CSS的三种使用方法 六、选择器参考 一、CSS简介 CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应…...
【Unity实战系列】Unity的下载安装以及汉化教程
君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,怎么说呢,其实这才是我以后真正想写想做的东西,虽然才刚开始,但好歹,我总算是启程了。今天要分享…...
电脑IP地址错误无法上网怎么办?
电脑出现IP地址错误后就将无法连接网络,从而无法正常访问互联网。那么当电脑出现IP地址错误时该怎么办呢? 确认是否禁用本地连接 你需要先确定是否禁用了本地网络连接,如果发现禁用,则将其启用即可。 启用方法:点击桌…...
机器视觉项目流程和学习方法
机器视觉项目流程: 00001. 需求分析和方案建立 00002. 算法流程规划和业务逻辑设计 00003. 模块化编程和集成化实现 00004. 调试和优化,交付客户及文档 学习机器视觉的方法: 00001. 实战学习,结合项目经验教训 00002. 学习…...
LNMP环境搭建wordpress以及跳转后台报404解决
基于上文配置好的LNMP环境继续搭建wordpress 目录 一.到官网下载tar.gz包,并上传到Linux上,也可以通过复制链接地址进行下载 二. 将wordpress中的所有文件移动到你nginx.conf中指定目录中 三.为wordpress配置数据库 四.到浏览器进行注册 1.刚开始…...
Nginx+Tomcat的动静分离
首先准备好5台机子:2台装有tomcat,3台装有nginx 1.关闭5台机子的防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 Nginx1 vim /usr/local/nginx/conf/nginx.conf#在--#pid-- 下做四层代理 stream {upstream test {server …...
Tomcat部署与优化
目录 一、Tomcat介绍 二、Tomcat核心组件 1、web容器:完成web服务器的功能,web应用 2、servlet容器:名字:catalina,处理servlet代码 servlet的功能 3、jsp:jsp动态页面翻译成servlet代码,用…...
jmeter工具使用
jmeter工具使用 官方下载 安装好jdk后,下载之后直接运行即可 基本流程 1、首先添加线程组 线程组:JMeter是由Java实现的,并且使用一个Java线程来模拟一个用户,因此线程组(Thread Group)就是指一组用户的…...
【uniapp】封装一个全局自定义的模态框
【需求描述】 在接口401处,需要实现全局提示并弹出自定义模态框的功能。考虑到uni-app内置的模态框和app原生提示框的自定义能力有限,我决定自行封装全局自定义的模态框,以此为应用程序提供更加统一且个性化的界面。 【效果图】 【封装】 主…...
UNIX 入门
与 UNIX 建立连接启动会话登录命令提示符修改口令退出系统 简单的 UNIX 命令命令格式ls 命令who 命令虚拟终端 tty伪终端 ptywho am i 命令 cal 命令help 命令man 命令 shell 概述shell 命令更换 shell临时更改 shell永久更改 shell 登录过程 与 UNIX 建立连接 启动会话 要启…...
Golang通过alibabaCanal订阅MySQLbinlog
最近在做redis和MySQL的缓存一致性,一个方式是订阅MySQL的BinLog文件,我们使用阿里巴巴的Canal的中间件来做。 Canal是服务端和客户端两部分构成,我们需要先启动Canal的服务端,然后在Go程序里面连接Canal服务端,即可监…...
Python flask-restful 框架讲解
1、简介 Django 和 Flask 一直都是 Python 开发 Web 的首选,而 Flask 的微内核更适用于现在的云原生微服务框架。但是 Flask 只是一个微型的 Web 引擎,所以我们需要扩展 Flask 使其发挥出更强悍的功能。 python flask框架详解:https://blog.…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
