最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 GPU 版 土堆教程

news2024/11/26 20:26:50

最详细的 Windows 下 PyTorch 入门深度学习环境安装与配置 CPU GPU 版 | 土堆教程

Windows 下 PyTorch 入门深度学习环境安装与配置 GPU 版

  • 教程大纲
    • 如何使用此教程
    • 快速开始版本
  • Windows下判断有无NVIDIA GPU
  • 安装Anaconda
    • 作用
    • 流程
      • 下载安装 Anaconda
  • 创建虚拟环境
    • 利用conda或者pip 安装PyTorch
  • 算力,CUDA Driver Version, CUDA Runtime Version
    • 确定自己电脑的显卡算力和CUDA版本
  • 利用conda或者pip 安装PyTorch
    • 更改channel的方式
      • 1.在命令最后加上`-c 通道地址`
      • 2.添加通道地址(不推荐)
  • 判断 CUDA Runtime 版本
    • 1.安装显卡驱动最新版本
    • 2.确定CUDA driver的版本
    • 3.打开PyTorch官网,确定CUDA Runtime 版本
    • 4.在上一步创建的虚拟环境中安装PyTorch
    • 5.使用pip安装(第4步不成功时)
  • 验证pytorch是否安装成功
  • 安装PyCharm并进行配置
    • 新建项目

教程大纲

如何使用此教程

  • 说说安装过程中各个软件的作用(可选)
  • 聊聊深度学习与GPU(可选)
  • 安装步骤演示

image-20240416201625392

快速开始版本

确定电脑是否有Nvidia GPU-先看【判断是否有NVIDIA(英伟达显卡)GPU】image-20240416201526381

结合自己电脑操作系统和有无GPU,找到对应安装视频

  • 如果有NVIDIA GPU,看视频开头带【GPU版本】image-20240416201537292
  • 如果没有 NVIDIA GPU,看视频开头带【CPU版本】image-20240416201548065

Windows下判断有无NVIDIA GPU

检查任务管理器——如果GPU中带有NVIDIA字眼,说明有NVIDIA GPU

image-20240416202016800

安装Anaconda

作用

1.创建虚拟环境

2.创建虚拟环境的同时安装python

image-20240416202429774

流程

  1. 确定自己的硬件信息,确定电脑有英伟达(NVIDIA)显卡
  2. 下载安装 Anaconda
  3. 利用 conda 或者 pip 安装 PyTorch(坑最多的)
    1. 确定自己安装的CUDA版本与GPU关系
    2. 安装GPU版本 PyTorch
  4. 下载安装/配置 PyCharm

Windows下安装PyTorch
GPU版本

下载安装 Anaconda

  • 官网 https://www.anaconda.com/
  • 选择 Products ->Anaconda Distribution
  • 点击 Download,可以下载最新版本
  • https://repo.anaconda.com/archive/,可以下载到历史版本
  • 安装路径最好全英文

创建虚拟环境

利用conda或者pip 安装PyTorch

1.创建一个虚拟环境(比如叫 tuduipytorch)

  • 利用 conda create 指令创建新的虚拟环境
    • conda create -n 虚拟环境名字 python=版本
    • python选择3.5以上版本
  • 添加镜像加速
    • conda create -n 虚拟环境名字 python=版本 -c 镜像地址
  • 就使用base环境
镜像名用于创建环境镜像地址 -cudatoolkit
清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
北京外国语大学镜像https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
阿里巴巴镜像http://mirrors.aliyun.com/anaconda/pkgs/main

删除虚拟环境:

conda remove -n 虚拟环境名字 --all

持久添加通道:

conda config --add channels 通道地址

删除通道:

conda config --remove channels 通道地址

查看目前虚拟环境

conda env list

image-20240416210326445

base环境位于安装目录下面

创建虚拟环境ddpytorch,指定python版本3.6

conda create -n ddpytorch python=3.6

image-20240416210647117

自己创建的虚拟环境位于

激活环境

conda activate ddpytorch

取消激活环境

conda deactivate

算力,CUDA Driver Version, CUDA Runtime Version

1.首先,确定自己显卡的算力

2.确定自己的可选择CUDA Runtime Version

3.确保自己的 CUDA Driver 版本 >= CUDA Runtime 版本

Cuda runtime version <= cuda driver version

Cuda runtime version 支持 显卡对应的算力

image-20240416215830522

跑深度学习需要用到GPU,而CUDA就是GPU和程序(如python)之间的桥梁。

CUDA(Compute Unified Device Architecture)统一计算设备架构,CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

CUDA就是让python等程序语言可以同时在CPU和GPU上跑的一个平台。

img

确定自己电脑的显卡算力和CUDA版本

https://en.wikipedia.org/wiki/CUDA

1.确定显卡型号

NVIDlA GeForce RTX 4060 Laptop GPU

image-20240416221256169

2.确定显卡算力8.9

image-20240416221647917

3.确定CUDA Runtime :11.8、12.0-12.4

我们看自己的驱动 CUDA Driver Version-12.2

nvidia-smi

image-20240416222158397

4.最近确定我们使用的CUDA版本:11.8、12.0、12.1、12.2

在可用的里面选择最新的

利用conda或者pip 安装PyTorch

通道(channel),其实就相当于下载地址。

image-20240417100133315

更改channel的方式

1.在命令最后加上-c 通道地址

conda install xxx -c 通道地址
conda create yyy -c 通道地址

不要随便修改通道地址

2.添加通道地址(不推荐)

如何持久化添加/删除通道
conda config --add channels 通道地址
conda config --remove channels 通道地址

如何查看配置文件中有哪些通道?
conda config --get
conda config --show

添加清华源通道

image-20240417100804389

查看当前通道

image-20240417100844023

删除通道

image-20240417101121987

判断 CUDA Runtime 版本

1.安装显卡驱动最新版本

nvidia-smi

image-20240416222158397

到NVIDIA官网下载最新驱动

填写GPU相关信息

image-20240417102311658

选择NVIDIA Studio 驱动程序进行安装,一路默认

image-20240417102630407

image-20240417102641961

image-20240417103557238

2.确定CUDA driver的版本

运行nvidia-smi, CUDA版本更新为12.4

image-20240417103910017

3.打开PyTorch官网,确定CUDA Runtime 版本

pytorch官网:https://pytorch.org/

选择比CUDA driver小的最新版本

image-20240417104452755

4.在上一步创建的虚拟环境中安装PyTorch

(安装PyTorch,需要安装pytorch,torchvision, torchaudio=个包)

  • 从官网(https://pytorch.org/)采用命令行下载
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
  • 添加镜像源
conda install pytorch torchvision torchaudio -c 镜像地址
conda install cudatoolkit=版本 -c 镜像地址

image-20240417111314183

镜像名镜像地址-pytorch, torchvision, torchaudio
清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
北京外国语大学镜像https://mirrors.bfsu.edu.cn/anaconda/cloud/pytorch/win-64/
阿里巴巴镜像http://mirrors.aliyun.com/anaconda/cloud/pytorch/win-64/
南京大学镜像https://mirror.nju.edu.cn/pub/anaconda/cloud/pytorch/win-64/

5.使用pip安装(第4步不成功时)

  • 使用 pip3 install torch torchvision torchaudio
  • 本地安装
    • 下载 pytorch package 后,利用 pip install 路径地址 安装(https://download.pytorch.org/whl/torch stable.html)
    • 如果本地安装完成,使用pip instal torch==本地下载的版本号 torchvision torchaudio
  • 从视频简介中下载 pytorch package,之后利用pip install 安装

验证pytorch是否安装成功

  1. 激活对应的虚拟环境(你安装Pytorc的虚拟环境) conda activate 虚拟环境名

  2. 输入conda list,看有没有pytorch或torch

    image-20240417170405879

  3. 输入python

image-20240417170720713

  1. 输入import torch

  2. 输入torch.cuda.is available()

image-20240417170709535

  1. 如果显示True,就说明我们这个PyTorch安装成功了

安装PyCharm并进行配置

  • 下载PyCharm(https://www.jetbrains.com/pycharm/) 可以使用迅雷下载
  • 如果想下载历史版本的话,https://www.jetbrains.com/pycharm/download/other.htm
  • 如果下载还是很慢的话,那就去视频简介下方进行下载
  • 配置合适的Python解释器(虚拟环境)

新建项目

image-20240417174746525

新建test.py文件,运行代码

import torch
print(torch.cuda.is_available())

显示True,则环境配置正确

image-20240417224354699

问题:导入python解释器时显示找不到Conda可执行文件

image-20240417180214180

找到anaconda3安装路径下的conda.bat文件路径D:\anaconda3\condabin\conda.bat,点击Load Environments按钮

image-20240417180134365

选择要使用的虚拟环境

image-20240417180355613

conda修改虚拟环境版本

https://blog.csdn.net/u013250861/article/details/128788514

报错:ImportError: DLL load failed: 找不到指定的模块。

Please note and check the following:

  * The Python version is: Python3.6 from "C:\Users\xdd\.conda\envs\ddpytorch\python.exe"
  * The NumPy version is: "1.19.2"

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load failed: 找不到指定的模块。

怀疑是python版本过低导致,升级一下python版本

conda activate your_env
conda install python=3.x

修改numpy版本命令

conda remove numpy
conda install numpy

NumPy version is: “1.19.2”

and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.

Original error was: DLL load failed: 找不到指定的模块。


怀疑是python版本过低导致,升级一下python版本

conda activate your_env
conda install python=3.x


修改numpy版本命令

```shell
conda remove numpy
conda install numpy

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

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

相关文章

jmeter安装和简单使用

jmeter安装和简单使用 1. 安装 jmeter是基于Java开发的测试应用&#xff0c;其运行依赖于java环境&#xff0c;所以在下载运行jmeter前&#xff0c;先确保本机已经安装jdk或者jre&#xff0c;安装jdk步骤此处不描述。 下载jmeter&#xff1a; jmeter是Apache旗下的产品&…

电阻理论基础

电流的形成是电荷运动&#xff0c;电子方向相反&#xff0c;标量 电压&#xff1a;电势有参考点&#xff0c;是一个相对量 电阻的值不取决于电压和电流的&#xff0c; Ra表示标准电阻 R表示任意温度的电阻

数据结构:时间复杂度和空间复杂度

目录 1. 如何衡量一个算法的好坏2. 算法效率3. 时间复杂度3.1 时间复杂度的概念3.2 大O的渐进表示法3.3 推导大O阶方法3.4 常见时间复杂度计算举例 3.空间复杂度 1. 如何衡量一个算法的好坏 下面求斐波那契数列的算法好还是不好&#xff0c;为什么&#xff1f;该如何衡量一个算…

新书推荐机器学习大数据平台的构建、任务实现与数据治理

在大数据与机器学习日新月异的今天&#xff0c;构建稳定、安全、可扩展的数据平台已成为企业和研究机构的迫切需求。这本书应运而生&#xff0c;提供了详尽且实用的指南&#xff0c;帮助读者在云计算环境中构建、优化和治理大数据平台。 作者以清晰明了的写作风格&#xff0c;…

实现基于UDS LIN诊断协议的本地OTA升级

一、目标 在上篇文章LIN诊断实现MCU本地OTA升级_lin ota-CSDN博客中已经基于LIN诊断协议实现了通过PC端上位机对MCU进行本地的OTA升级&#xff0c;但是没有完全按照UDS协议实现。本篇将在上篇文章的基础上进行改进&#xff0c;实现基于UDS LIN诊断协议的本地OTA升级。本篇文章对…

C语言 | Leetcode C语言题解之第52题N皇后II

题目&#xff1a; 题解&#xff1a; struct hashTable {int key;UT_hash_handle hh; };struct hashTable* find(struct hashTable** hashtable, int ikey) {struct hashTable* tmp NULL;HASH_FIND_INT(*hashtable, &ikey, tmp);return tmp; }void insert(struct hashTabl…

nvm 使用教程

在任意目录中的空白处 按住Shift键不放&#xff0c;鼠标点击右键&#xff0c;在弹出的菜单中选择 “在此处打开 Powershell 窗口(S)”。 查看远程线上的nodejs版本 nvm ls available 查看自己安装的nodejs版本 nvm ls 切换nodejs版本号 nvm use 版本号 安装 xxx版本的nodej…

浅谈游戏机制

浅谈游戏机制 前言什么是游戏机制&#xff1f;机制组成机制类别结语 前言 最近在编写游戏开发文档的时候了解到游戏机制&#xff0c;第一次接触游戏机制的概念难免有些陌生&#xff0c;但感觉又跟常见&#xff0c;在网上查阅浏览了一些资料后了解到游戏机制还不止一个。 现在将…

Linux|Awk 变量、数字表达式和赋值运算符

引言 本部分[1]将深入学习 Awk 的高级应用&#xff0c;以应对更为复杂的文本或字符串过滤任务。将介绍包括变量、数值表达式和赋值运算符在内的 Awk 功能。 这些概念与你之前可能在诸如shell、C、Python等许多编程语言中接触过的概念并没有本质上的不同&#xff0c;所以你不必过…

【RAG 论文】Chain-of-Note:为 RAG 引入 CoT 让模型生成阅读笔记来提高面对噪音文档和未知场景的鲁棒性

论文&#xff1a;Chain-of-Note: Enhancing Robustness in Retrieval-Augmented Language Models ⭐⭐⭐ Tencent AI Lab, arXiv:2311.09210 文章目录 一、论文速读二、实现的细节2.1 Note Design2.2 Data Collection2.3 Model Training 三、实验结果3.1 QA Performance3.2 对 …

Python:解析pyserial串口通讯

简介&#xff1a;串行接口简称串口&#xff0c;也称串行通信接口或串行通讯接口&#xff08;通常指COM接口&#xff09;&#xff0c;是采用串行通信方式的扩展接口。串行接口 &#xff08;Serial Interface&#xff09;是指数据一位一位地顺序传送。其特点是通信线路简单&#…

全额退款20000,what?

接单的时候有多兴奋&#xff0c;退单的时候就有多落寞。今天我对客户全额退款了&#xff0c;跟踪了10天的项目正式结束。 这是我接单以来项目单价最高的一个项目&#xff0c;本来不太想接的&#xff0c;因为业务领域不擅长&#xff0c;又想挑战一下。兜兜转转找了几个人因为各种…

Python请求示例电商商品详情数据(API接口开发系列),从入门到实战

在电商系统中&#xff0c;商品详情数据通常通过API接口提供。以下是一个从入门到实战的Python请求示例&#xff0c;展示如何获取电商商品详情数据。 入门篇&#xff1a;理解API接口 首先&#xff0c;你需要了解API&#xff08;应用程序接口&#xff09;的基本概念。API允许不…

用Redis实现获取验证码,外加安全策略

安全策略 一小时内只能获取三次&#xff0c;一天内只能获取五次 Redis存储结构 代码展示 import cn.hutool.core.util.RandomUtil; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.junit.jupiter.api.Test; import org.spri…

JVM学习笔记(五)内存模型

目录 1、原子性 1.1 问题分析 1.2 解决方法 2、可见性 2.1 退不出的循环 2.2 解决办法 3、有序性 3.1 诡异的结果 3.2 解决办法 3.3 有序性理解 3.4 happens-before 4、CAS与原子类 4.1 CAS 4.2 乐观锁与悲观锁 4.3 原子操作类 5、synchronized 优化 5.1 轻量…

鸿蒙入门11-DataPanel组件

数据面板组件 用于将多个数据的占比情况使用 占比图 进行展示 参数 参数形式 &#xff1a; DataPanel( options:{ values: number[], max?: number, type?: DataPanelType } ) 参数名 参数类型 是否必填 默认值 参数描述 values number[] 是 - 数据值列表 最大支持…

Recommended Azure Monitors

General This document describes the recommended Azure monitors which can be implemented in Azure cloud application subscriptions. SMT incident priority mapping The priority “Blocker” is mostly used by Developers to prioritize their tasks and its not a…

zigbee cc2530的室内/矿井等定位系统RSSI原理

1. 定位节点软件设计流程 2. 硬件设计 cc2530 最小系统 3. 上位机 c# 设计上位机&#xff0c;通过串口连接协调器节点&#xff0c;传输数据到pc上位机&#xff0c;显示节点坐标信息 4. 实物效果 需要4个节点&#xff0c;其中一个协调器&#xff0c;两个路由器作为参考节点&a…

1分钟掌握 Python 函数参数

任何编程语言函数都是非常重要的一部分&#xff0c;而在进行函数调用时&#xff0c;了解函数的参数传递方式是非常有必要的。Python中支持哪些传参方式呢&#xff1f; Python中的传参方式是比较灵活的&#xff0c;主要包括以下六种&#xff1a; 按照位置传参按照关键字传参默…

第59篇:创建Nios II工程之控制LED<一>

Q&#xff1a;还记得第1篇吗&#xff1f;设计简单的逻辑电路&#xff0c;控制DE2-115开发板上LED的亮与熄灭&#xff0c;一行Verilog HDL的assign赋值语句即可实现。本期开始创建Nios II工程&#xff0c;用C语言代码控制DE2-115开发板上的LED实现流水灯效果。 A&#xff1a;在…