【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

专栏的老读者们都知道,以前的文章以使用MATLAB的为多。

不过后续陆续开始展开深度学习算法的应用,就会逐渐引入Python语言了(当然MATLAB的代码也会同步更新),这是由于在深度学习领域,Python应用更为广泛。它拥有丰富的科学计算库和机器学习框架,如NumPy、Tensorflow、Keras、Pytorch等,功能强大且使用便捷。相比之下,虽然MATLAB在工程和科研领域应用广泛且便捷,但在深度学习方面的生态尚不如Python。

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

本篇教程写于2024年4月20日,如果你看到这篇文章距离这个时间过去了比较长的时间,有可能下边的流程和界面会有所不同。

一、关于操作系统

本篇的操作系统是以Win10为例,不过如果你的系统是Win11,其主要步骤也是大差不差,可以用以参考。如果同学们在搭建环境过程中遇到问题,在下边留言即可,我看到后会尽量解答。

可能还有一部分同学要在Linux系统下搭建环境,这个我在后边可能视情况再另外出教程。

另外大家再进行以下操作之前,请将显卡驱动更新到最新版本(版本号要在520.06以上)。

二、关于编辑器VSCode

Python的编辑器有很多,其实大家用自己习惯的就行。

VSCode有很多好处,比如免费、轻量,ssh远程开发也方便。最主要的他有丰富的插件库。本专栏Python编辑器将统一使用VSCode。

软件下载地址是:Visual Studio Code - Code Editing. Redefined

安装完成后,你将看到这样一个界面,在左侧可以打开插件库。

插件库在最左侧可以打开

在这里有几个插件是需要大家安装的,在搜索框搜索即可:

1.Python和Pylance,做Python开发这两个必然少不了。安装前者,后者会自动安装。

2.jupyter,这个大家选装,安装之后将会支持ipynb格式的Python文件

3.Rainbow CSV,选装,他是一个可以让CSV打开后变得五颜六色的插件。数据文件读起来会更赏心悦目。

4.Chinese,让界面变成中文,当然如果你英语好可以不装。

至此vscode就基本可以使用了,如果你还想装一些花里胡哨的功能,可以自己再探索探索插件库。

三、关于Anaconda

3.1 安装Anaconda

Anaconda是一个用于科学计算的Python发行版,支持Linux、macOS和Windows系统。它预装了众多流行的科学、数学、工程、数据分析的Python包。使用Anaconda可以避免不同Python库之间的兼容性问题。

点击此网页:https://www.anaconda.com/download/success

选择Windows系统下的安装器,注意此时的Python版本对应的是3.11

打开安装文件,一路next(安装路径大家可以根据需要调整)

注意下边这步,不建议勾选第二个选项。像我这样选就可以。

点击finish,完成安装。

3.2 配置环境变量

下边要添加一下环境变量。

打开开始菜单,点击Anaconda Powershell Prompt

输入conda info,查看安装路径

可以看到我的安装路径是 C:\Users\KH\anaconda3,你要根据自己实际安装目录进行改动。

接下来开始配置环境变量,按win键,搜索“环境变量”

双击Path,点击新建。

把这几条复制到里面(注意,加粗的字体的部分需要换成你自己的安装路径):

C:\Users\KH\anaconda3
C:\Users\KH\anaconda3\Scripts
C:\Users\KH\anaconda3\Library\mingw-w64\bin
C:\Users\KH\anaconda3\Library\usr\bin
C:\Users\KH\anaconda3\Library\bin

测试是否配置成功,进入cmd:

然后在cmd中输入 conda ,如图就是有conda环境。

四、关于pytorch和cuda安装

打开下边的网址:PyTorch

选取稳定版,此时对应的cuda可以是11.8或者12.1,我们选11.8,如果你的电脑没有独显,就选择CPU

打开Anaconda Powershell Prompt,输入上图中蓝框内的代码,回车。此时将自动安装cuda和pytorch相关环境。等待完成安装即可。

五、其他设置及测试

5.1 设置vscode的Python解释器

再次打开vscode,点击Ctrl+p

在上方的文本框输入 >python:select interpreter

点击选择解释器,可以看到当前电脑中有多个Python解释器,我们选择conda环境下的。

同时可以看到,在C:\veighna_studio路径下还有另外一个版本的python,为了避免干扰,我们可以将该路径下的Python文件删掉

5.2 测试上述环境是否搭建完成

点击文件-打开文件夹,选择一个测试文件存放路径。

点击此处新建文件

将其命名为test.py

在文件中粘贴下述代码:

import torchprint(torch.version.cuda)
if torch.cuda.is_available():print(torch.cuda.current_device())
else:print('当前环境无CUDA设备,仅能使用CPU运算')

点击运行和调试

选择Python debugger

选择Python文件

如果你的电脑有独立显卡,且驱动和上述设置被正确设置,则会得到类似下边的运行结果:

大家忽略CUDA版本,这个是我另一个环境的结果

如果你的电脑没有独立显卡,则会运行出类似下边的结果:

如果程序报错,则需要大家检查一下anaconda、pytorch、cuda是否正确安装,以及当前的Python版本是否选择正确。

结语

如果大家在配置环境过程中遇到问题,可以在下边留言。对于大家反应的比较多的问题,我将会集中答复。

另外本专栏针对深度学习算法有着深入浅出的讲解文章,推荐大家读一下。后续将持续更新Python环境下的深度学习编程。

3.1 Mr.看海:神经网络15分钟入门!足够通俗易懂了吧

3.2 Mr.看海:神经网络15分钟入门!——反向传播到底是怎么传播的?

3.3 Mr.看海:神经网络15分钟入门!使用python从零开始写一个两层神经网络

3.4 Mr.看海:用深度学习做了下中国股市预测,结果是...

3.5 Mr.看海:使用MATLAB快速搭建神经网络实现分类任务(模式识别)

3.6 Mr.看海:【深度学习-第1篇】深度学习是什么、能干什么、要怎样学?

3.7 Mr.看海:【深度学习-第2篇】CNN卷积神经网络30分钟入门!足够通俗易懂了吧(图解)

3.8 Mr.看海:【深度学习-第3篇】使用MATLAB快速实现CNN分类(模式识别)任务,含一维、二维、三维数据演示案例

3.9 Mr.看海:【深度学习-第4篇】使用MATLAB快速实现CNN多变量回归预测

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

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

相关文章

6.比较含退格的字符串(力扣字符串)(两种解法:字符串操作,栈)

目录 题目链接 法一:普通字符串操作 法二:栈操作 题目链接 . - 力扣(LeetCode) 法一:普通字符串操作 用len1记录目前s的字符个数,len2记录目前t的字符个数 如果不是#,则s[len1] s[i] 如果是…

解决Android Studio安卓开发写入文件问题

有很多小伙伴想把文件写进安卓系统储存失败,类似下面的代码 val file File("account.txt")val writer BufferedWriter(FileWriter(file))writer.use {it.write(username "," password)} 用java方式写入读出文件但是显示成功但是找不到文件…

Linux--自主编写shell

目录 准备知识 shell原理 shell与用户互动的过程 实现shell 0.用到的头文件和宏定义 1.首先我们需要自己输出一个命令行 2.获取用户命令行字符 3.命令行字符串分割 4.执行命令 5.设置循环 6.检测内建命令 7.完善细节--获取工作目录而非路径 准备知识 Linux--环境…

Linux系统安全与应用【二】

目录 1.开关机安全控制 1.2 实例:GRUB 菜单设置密码 2.终端登录安全控制 2.1 限制root只在安全终端登录 ​3.弱口令检测 3.1 Joth the Ripper,JR​编辑 4.网络端口扫描 4.1 nmap命令 1.开关机安全控制 1.1 GRUB限制 限制更改GRUB引导参数 通常情况下在系统…

类和对象【三】析构函数和拷贝构造函数

文章目录 析构函数析构函数的定义析构函数的作用主要作用次要作用 析构函数的特点 拷贝构造函数拷贝构造函数的定义拷贝构造函数的作用主要作用次要作用 拷贝构造函数的特点浅拷贝和深拷贝浅拷贝深拷贝 拷贝构造函数的调用场景 析构函数 析构函数的定义 析构函数(destructor) …

mybatis基本使用

文章目录 1. mybatis2. 基本使用(1) maven坐标(2) 配置文件编写(3) 数据库操作(4) 注解查询 2. 基本配置(1) 读取外部配置文件(2) mapper映射 3. 映射文件查询删除/修改/新增 动态sql 1. mybatis MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高…

使用 Gradio 的“热重载”模式快速开发 AI 应用

在这篇文章中,我将展示如何利用 Gradio 的热重载模式快速构建一个功能齐全的 AI 应用。但在进入正题之前,让我们先了解一下什么是重载模式以及 Gradio 为什么要采用自定义的自动重载逻辑。如果你已熟悉 Gradio 并急于开始构建,请直接跳转到第…

记录些RAG中Chunk切分方法

非结构化数据 在处理非结构化数据时,文本切分策略的选择至关重要,以保持信息完整性和提高检索效率。以下是一些有效的切分方法: 固定长度切分:将文本按照固定的字数或词数进行切分,例如每个文档切分成300个字或300个…

【Camera KMD ISP SubSystem笔记】Request 流转与Bubble机制

ISP中断类型 SOF: 一帧图像数据开始传输 EOF: 一帧图像数据传输完成 REG_UPDATE: ISP寄存器更新完成(每个reg group都有独立的这个中断) EPOCH: ISP某一行结尾(默认20)就会产生此中断 BUFFER DONE: 一帧图像数据ISP完全写到DDR了 管理Isp request的几个List st…

代码随想录:二叉树22-24

目录 700.二叉搜索树的搜索 题目 代码(二叉搜索树迭代) 代码(二叉搜索树递归) 代码(普通二叉树递归) 代码(普通二叉树迭代) 98.验证二叉搜索树 题目 代码(中序递…

oracle rman restore database的时候报错RMAN-06023: 没有找到数据文件1的副本来还原

一 问题描述 在oracle异地备份恢复测试数据库上执行restore database的时候报错: RMAN-06023: 没有找到数据文件1的副本来还原 可是我看备份明明都是存在的,而且已经执行了catalog start with命令。 有点奇怪的是catalog start with的时候&#xff0c…

4.10 海思SS928开发 - uboot开发 - 环境变量使用注意

4.10 uboot开发 - 环境变量使用注意 更新 uboot 镜像文件时,环境变量相关工具也需要更新。uboot 镜像文件与环境变量工具如果不对应的话,可能会导致莫名其妙的问题。更新 uboot 镜像文件时,最好将储存在磁盘上的环境变量擦除。因为当磁盘上存…

牛客NC143 矩阵乘法【中等 矩阵 C++/Java/Go/PHP】

题目 题目链接: https://www.nowcoder.com/practice/bf358c3ac73e491585943bac94e309b0 思路 矩阵算法在图像处理、神经网络、模式识别等领域有着广泛的用途。在矩阵乘法中,A矩阵和B矩阵可以做乘法运算必须满足A矩阵的列的数量等于B矩阵的行的数量。运算…

d13(126-129)-勇敢开始Java,咖啡拯救人生

目录 Arrays类 数组中存储对象时 排序 在要比较的类中public class 类名 implements Comparable <类名> Comparator JDK8新特性&#xff1a;Lambda表达式 Lambda表达式的省略写法 方法引用 静态方法引用 实例方法引用 特定类型的方法引用 构造器引用 医院挂号系…

FANUC机器人SOCKET连接指令编写

一、创建一个.KL文件编写连接指令 创建一个KL文本来编写FANUC机器人socket连接指令 二、KAREL指令代码 fanuc机器人karel编辑器编辑的karel代码如下&#xff1a; PROGRAM SM_CON %COMMENT SOCKET连接 %STACKSIZE 4000 --堆栈大小 %INCLUDE klevccdfVAR status,data_type,in…

【draw.io的使用心得介绍】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

OpenHarmony实战开发-使用SmartPerf-Host分析应用性能

简介 SmartPerf-Host是一款深入挖掘数据、细粒度展示数据的性能功耗调优工具&#xff0c;可采集CPU调度、频点、进程线程时间片、堆内存、帧率等数据&#xff0c;采集的数据通过泳道图清晰地呈现给开发者&#xff0c;同时通过GUI以可视化的方式进行分析。该工具当前为开发者提…

Swift 中的条件语句:if 和 else

在 Swift 编程语言中&#xff0c;条件语句 if 和 else 是控制程序流程的重要工具。它们允许我们根据不同的条件执行不同的代码块&#xff0c;从而实现更灵活的程序逻辑。 if 语句 if 语句用于执行一个代码块&#xff0c;当指定的条件为真时。其基本语法如下&#xff1a; if …

2024第十五届蓝桥杯网络安全赛项WriteUp

欢迎关注公众号【Real返璞归真】回复【蓝桥杯2024】获取完整题目附件。 排名 安全知识 错1个选择题&#xff0c;题目说的不清楚&#xff0c;没搞懂题意。肯定不能用eval。错了理论题有点遗憾。 没想到这题前端是要解析json数据&#xff0c;排除CD选了A&#xff0c;结果发现正…

每日一题(力扣45):跳跃游戏2--贪心

由于题目已经告诉了我们一定可以跳到&#xff0c;所以我们只需去考虑前进最快的方法。即 判断当前下一步能跳的各个位置中&#xff0c;哪个能带你去去向最远的地方&#xff08;why&#xff1f; 因为其他位置所能提供的最大范围都没最远那个大&#xff0c;所以最远的那个已经可以…