【深度学习-番外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 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多变量回归预测

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

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

相关文章

Matlab|【复现】主动配电网故障定位方法研究

目录 1 主要内容 算例模型 期望故障电流状态函数 评价函数(膨胀率函数) 算例验证方法 详实的文档说明 2 部分程序 3 程序结果 4 下载链接 1 主要内容 该程序方法复现了《基于改进多元宇宙算法的主动配电网故障定位方法研究》_郑聪,建…

在ELF 1开发环境中使用Qt Creator进行远程调试

Qt Creator是一款跨平台集成开发环境(IDE),主要适用于支持Qt框架的各类应用程序开发。其内置的远程调试机制使得开发者能够在本地开发环境中对部署在远程设备上的代码进行调试,无需直接对远程设备进行操作。Qt Creator会通过网络连…

2.Vue简介

Vue简介 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,V…

在 Linux 中删除文件和文件夹

目录 ⛳️推荐 前言 删除文件 🏋️练习文件删除 小心删除 删除目录 🏋️练习文件夹删除 测试你的知识 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…

VSCode搭建内核源码阅读开发环境

0. 参考链接 使用VSCode进行linux内核代码阅读和开发_vscode阅读linux内核-CSDN博客 1. 搭建Linux内核源码阅读环境 现状,Linux内核源码比较庞大文件非常多,其中又包含的众多的宏定义开关配置选项,这使得阅读内核源代码称为一件头疼的事。 …

电脑工作者缓解眼部疲劳问题的工具分享

背景 作为以电脑为主要工作工具的人群,特别是开发人员,我们每天都需要长时间紧盯着屏幕,进行代码编写、程序调试、资料查询等工作。这种持续的工作模式无疑给我们的眼睛带来了不小的负担。一天下来,我们常常会感到眼睛干涩、疲劳…

[笔试强训day02]

文章目录 BC64 牛牛的快递DP4 最小花费爬楼梯[编程题]数组中两个字符串的最小距离 BC64 牛牛的快递 BC64 牛牛的快递 #include<iostream> #include<cmath> using namespace std;double a; char b;int main() {cin>>a>>b;int ans0;if(a<1.0){ans20;…

Go程序设计语言 学习笔记 第十三章 低级编程

Go的设计保证了一系列安全性&#xff0c;限制了Go程序可能出现问题的方式。在编译期间&#xff0c;类型检查会检测到大多数试图将操作应用于不适合其类型的值的尝试&#xff0c;例如&#xff0c;从一个字符串中减去另一个字符串。严格的类型转换规则阻止了直接访问内置类型&…

数字接龙(蓝桥杯)

文章目录 数字接龙【问题描述】解题思路DFS 数字接龙 【问题描述】 小蓝最近迷上了一款名为《数字接龙》的迷宫游戏&#xff0c;游戏在一个大小为N N 的格子棋盘上展开&#xff0c;其中每一个格子处都有着一个 0 . . . K − 1 之间的整数。游戏规则如下&#xff1a; 从左上…

【图解计算机网络】从浏览器地址输入到网页显示的整个过程

从浏览器地址输入到网页显示的整个过程 整体流程DHCPhttp协议报文组装DNSTCP协议封装与TCP三次握手IP协议封装与路由表MAC地址与ARP协议交换机路由器 整体流程 从往浏览器输入一个地址到网页的显示&#xff0c;要经过很长的一个流程&#xff0c;中间涉及到计算机网络的许多知识…

力扣-LCP 02.分式化简

题解&#xff1a; class Solution:def fraction(self, cont: List[int]) -> List[int]:# 初始化分子和分母为 0 和 1n, m 0, 1# 从最后一个元素开始遍历 cont 列表for a in cont[::-1]:# 更新分子和分母&#xff0c;分别为 m 和 (m * a n)n, m m, (m * a n)# 返回最终的…

VOJ 等边三角形 题解 DFS

等边三角形 代码 #include <bits/stdc.h> using namespace std; typedef long long ll; int n, flag 0, sum 0, tag; int length[20]; // 木棍长度 int group[3] {0}; // 三条边的当前边长 void dfs(int i, int index) {group[index] length[i];if (group[1] &g…

2024蓝桥杯嵌入式模板代码详解

文章目录 一、STM32CubeMx配置二、LED模板代码三、LCD模板代码 一、STM32CubeMx配置 打开STM32CubeMx&#xff0c;选择【File】->【New Project】&#xff0c;进入芯片选择界面&#xff0c;搜索到蓝桥杯官方的芯片型号&#xff0c;并点击收藏&#xff0c;下次直接点击收藏就…

React【Day4】

路由快速上手 1. 什么是前端路由 一个路径 path 对应一个组件 component 当我们在浏览器中访问一个 path 的时候&#xff0c;path 对应的组件会在页面中进行渲染 2. 创建路由开发环境 # 使用CRA创建项目 npm create-react-app react-router-pro# 安装最新的ReactRouter包 …

第64天:服务攻防-框架安全CVE复现Apache ShiroApache Solr

目录 思维导图 案例一&#xff1a;Apache Shiro-组件框架安全 shiro反序列化 cve_2016_4437 CVE-2020-17523 CVE-2020-1957 案例二&#xff1a;Apache Solr-组件框架安全 远程命令执行 RCE&#xff08;CVE-2017-12629&#xff09; 任意文件读取 AND 命令执行&#xff08…

建筑楼宇VR火灾扑灭救援虚拟仿真软件厂家

在传统消防安全教育方式中&#xff0c;往往存在内容枯燥、参与度低和风险大等问题&#xff0c;使得消防安全知识难以深入人心。然而&#xff0c;借助VR消防安全逃生教育系统&#xff0c;我们可以打破这一困境&#xff0c;为公众带来前所未有的学习体验。 VR消防安全逃生教育系统…

Java多线程-API

常见API一览 Thread t1 new Thread(() -> {System.out.println("我是线程t1");System.out.println("Hello, World!"); }); t1.start(); // 获取线程名称 getName() // 线程名称默认是Thread-0, Thread-1, ... System.out.println(t1.getName());// 通过…

AI 语音机器人系统怎么搭建

搭建AI语音机器人系统通常包括以下几个关键步骤&#xff1a; 确定需求和技术选型&#xff1a;首先要明确AI语音机器人需要实现的功能&#xff0c;选择合适的技术框架和工具&#xff0c;如自然语言处理工具、语音识别工具等。 搜集和准备数据&#xff1a;收集和整理与业务相关…

12.事件参数

事件参数 事件参数可以获取event对象和通过事件传递数据 获取event对象 <template><button click"addCount">Add</button><p>Count is: {{ count }}</p> </template> <script> export default {data() {return {count:0…

Three.js--》探秘虚拟现实VR展厅的视觉盛宴

今天简单实现一个three.js的小Demo&#xff0c;加强自己对three知识的掌握与学习&#xff0c;只有在项目中才能灵活将所学知识运用起来&#xff0c;话不多说直接开始。 目录 项目搭建 初始化three代码 camera-controls控制器使用 添加画框 画框处理事件 添加机器人模型 …