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

news2024/11/15 23:45:17

专栏的老读者们都知道,以前的文章以使用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 torch

print(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.coloradmin.cn/o/1611465.html

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

相关文章

mysql_explain执行计划字段解析

【README】 本文对 explain打印的执行结果的字段进行解析; 本文总结自: MySQL :: MySQL 8.3 Reference Manual :: 10.8.2 EXPLAIN Output Formathttps://dev.mysql.com/doc/refman/8.3/en/explain-output.html 列名含义id选择标识select_type选择类型…

文本溢出体验进阶:CSS 技巧实现单行/多行隐藏展示以及实际场景应用,确保内容可读性和布局整洁性

CSS文本溢出隐藏是一种常见的场景,它广泛应用于各种网页设计中,旨在确保内容的可读性和布局的整洁性,特别是在空间有限或需要适应不同屏幕尺寸的情况下。 一、文本溢出隐藏并显示省略号 1、单行文本溢出隐藏并显示省略号 对于单行文本&…

【游戏专区】飞机大战

打过飞机的人都知道,不是那么好打滴,求得麻袋,甩掉你那脑子里的黄色信息。活不多说,我们开始吧。 1、easyX的原理 基于Windows图形编程,将Windows下的复杂程序过程进行封装,仅给用户提供一个简单熟悉的接…

.NET .exe .dll 反编译 程序反编译 程序逆向

反编译是对程序进行逆向分析、研究,以推导出软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素。 反编译.NET程序需要使用专门的反编译工具 🧿使用dotPeek进行反编译 1.下载dotPeek dotPeek:JetBrains 出品的免费 .N…

视频质量评价 SSIM 算法详细介绍

SSIM SSIM(Structural Similarity Index Measure)是一种用于衡量两幅图像之间相似度的指标,是属于全参考视频质量评价算法范畴;它在图像质量评估领域得到了广泛的应用。SSIM是基于人类视觉系统的特性设计的,它考虑了图像的亮度、对比度和结构信息。SSIM的值范围在-1到1之…

【状态压缩 并集查找 图论】2157. 字符串分组

本文涉及知识点 状态压缩 并集查找 图论 LeetCode2157. 字符串分组 给你一个下标从 0 开始的字符串数组 words 。每个字符串都只包含 小写英文字母 。words 中任意一个子串中,每个字母都至多只出现一次。 如果通过以下操作之一,我们可以从 s1 的字母集…

SQLite FTS3 和 FTS4 扩展(三十二)

返回:SQLite—系列文章目录 上一篇:SQLite 的命令行 Shell(三十一) 下一篇:SQLite—系列文章目录 概述 FTS3 和 FTS4 是 SQLite 虚拟表模块,允许用户执行 对一组文档进行全文搜索。最常见(和最有效…

csdn的编写教程(官方给的)

自定义的目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个注脚…

CCF-CSP真题《202312-3 树上搜索》思路+c++满分题解

想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 问题描述 试题编号:202312-3试题名称:树上搜索时间限制:1.0s内存限制:512.0MB问题描述: 题目背景 问题描述 输入格式 输出格式 样…

【Leetcode每日一题】 穷举vs暴搜vs深搜vs回溯vs剪枝_全排列 - 全排列(难度⭐⭐)(62)

1. 题目解析 题目链接:46. 全排列 这个问题的理解其实相当简单,只需看一下示例,基本就能明白其含义了。 2.算法原理 回溯算法是一种通过探索所有可能的候选解来找出所有解的算法。当候选解被确认不是一个解(或者至少不是最后一…

【QT进阶】Qt http编程之后端API测试工具postman使用介绍

往期回顾 【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等-CSDN博客 【QT进阶】Qt Web混合编程之实现ECharts数据交互动态修改-CSDN博客 【QT进阶】Qt http编程之http与https简单介绍-CSDN博客 【QT进阶】Qt http编程之后端API测试工具postman使用介绍 其实这个工具的…

springboot是什么?

可以应用于Web相关的应用开发。 选择合适的框架,去开发相关的功能,会有更高的效率。 为什么Spring Boot才是你该学的!学java找工作必会技能!在职程序员带你梳理JavaEE框架_哔哩哔哩_bilibili java工程师的必备技能 Spring是Java EE领域的企业级开发宽…

VSCode 目录折叠展开、缩进深度设置

1、VSCode 目录折叠展开设置 运行 Visual Studio Code ,按 Ctrl ,打开设置 输入Explorer:Compact Folders,取消勾选 或者在设置文件上添加 "explorer.compactFolders": false2、VSCode 目录缩进深度设置 输入Workbench Tree:…

计算机视觉——OpenCV Python位运算与图像掩码

概述 位运算与图像掩码的结合允许对图像的特定区域进行精确的操作。通过使用位运算(如AND、OR、XOR和NOT),可以基于掩码的选择性地修改图像数据。位运算与图像掩码结合使用的一些关键点和应用场景: 选择性修改: 通过位…

视频质量评价 PSNR 算法详细介绍

PSNR PSNR(Peak Signal-to-Noise Ratio,峰值信噪比)是一种常用的评价图像质量的指标,尤其在图像压缩和图像处理领域。它基于最大可能的图像信号功率和图像的噪声功率之间的比率,通常用于衡量图像恢复或图像压缩算法的效果。 原理 PSNR是基于MSE(Mean Squared Error,均…

【网站项目】高校毕业论文管理系统小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【java解决线程间变量不可见性的方案】

解决线程间变量不可见性的方案 一、 背景 所有的实例变量和类变量都存储在主内存,但每个线程都有自己的工作内存,保留了主内存的共享变量的副本,线程修改的是共享变量,但是每个线程每次只能读取工作内存里的值,所以会…

Flink窗口机制

1.窗口的概念 时间是为窗口服务的。窗口是什么?为什么会有窗口呢? (1)Flink要处理的数据,一般是从Kafka过来的流式数据,如果只是单纯地统计流的数据量,是没办法统计的。 (2&#xff…

2024蓝桥杯每日一题(组合计数)

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:计算系数 试题二:求组合数1 试题三:求组合数2 试题四:杨辉三角形 试题一:计算系数 【题目描述】 给定一个多项式 (axby)k,请…

Google Earth Engine 洪水制图 - 使用 Sentinel-1 SAR GRD

Sentinel-1 提供从具有双极化功能的 C 波段合成孔径雷达 (SAR) 设备获得的信息。该数据包括地面范围检测 (GRD) 场景,这些场景已通过 Sentinel-1 工具箱进行处理,以创建经过校准和正射校正的产品。该集合每天都会更新,新获得的资产会在可用后两天内添加。 该集合包含所有 G…