当前位置: 首页 > news >正文

Python学习第十七天之PyTorch保姆级安装

PyTorch安装与部署

  • 一、准备工作
  • 二、pytorch介绍
  • 三、CPU版本pytorch安装
    • 1. 创建虚拟环境
    • 2. 删除虚拟环境
      • 1. 通过环境名称删除
      • 2. 通过环境路径删除
    • 3. 配置镜像源
    • 4. 安装pytorch
      • 1. 首先激活环境变量
      • 2. 进入pytorch官网,找到安装指令
    • 5. 验证pytorch是否安装成功
  • 四、GPU版本pytorch安装
    • 1. 查看自己电脑的GPU
    • 2. 安装pytorch
    • 3. 验证是否安装成功
  • 五、补充
    • 1. 卸载当前的PyTorch版本
  • 六、如何使用Anaconda环境
    • 1.pycharm如何使用
    • 2. jupyter如何使用

一、准备工作

  • 1.pytorch需要python3.6及以上的python版本

  • 2.我是利用Anaconda来管理我的python。可自行安装Anaconda。

二、pytorch介绍

安装 PyTorch 时,可以选择在 CPU 或 GPU 上运行,取决于你的硬件支持和需求。

  • CPU版本安装:
    CPU 版本适用于没有 GPU 或不需要使用 GPU 进行深度学习的情况。安装过程相对简单,因为没有依赖 GPU 驱动和 CUDA 的要求。
  • GPU版本安装:
    如果你的计算机上有 NVIDIA GPU,并且你希望加速深度学习计算,可以安装 GPU 版本的 PyTorch。GPU 版本依赖于 CUDA 和 cuDNN。

三、CPU版本pytorch安装

为了更好的管理不同项目的Python项目,通常建议创建一个虚拟环境。可以隔离不同项目的依赖项,避免项目之间的冲突。

1. 创建虚拟环境

安装好Anaconda后会有这些程序
在这里插入图片描述
输入以下指令可查看当前的虚拟环境

conda env list

在这里插入图片描述
利用 conda create 指令创建新的虚拟环境

conda create –n 虚拟环境名字(自己设置) python=版本

演示如下
在这里插入图片描述
在这里插入图片描述
输入y,等待安装
在这里插入图片描述

2. 删除虚拟环境

1. 通过环境名称删除

conda remove --name 环境名称 --all

2. 通过环境路径删除

conda remove --prefix 路径 --all

3. 配置镜像源

根据上述操作,以如下的环境列表为例(虚拟环境已经创建好):
在这里插入图片描述
由于安装指令都是从国外的通道下载,下载速度会非常慢。所以我们可以用国内的镜像地址下载pytorch

conda config --show

输入上述指令可以查看我们的通道地址
在这里插入图片描述
我的环境中有三个清华的镜像源。如果是之前没用过镜像源,这里只会显示dafaults。
在这里插入图片描述

镜像名镜像地址
清华源镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch
阿里巴巴镜像http://mirrors.aliyun.com/anaconda/pkgs/main
淘宝镜像源https://registry.npmmirror.com/
conda config --add channels 通道地址

输入以上命令可以添加通道地址,添加后输入以下地址也可以查看通道地址(验证是否加上通道)

conda config --get

如果想删除通道,可执行下面代码

conda config --remove channels 通道地址

4. 安装pytorch

1. 首先激活环境变量

conda activate 创建的虚拟环境

2. 进入pytorch官网,找到安装指令

  1. 点击Get started 进行如下配置

在这里插入图片描述
2. 找到安装代码

conda install pytorch torchvision torchaudio cpuonly -c pytorch  //注意,这种就是直接从国外下载了
  1. 用镜像源安装
    注:使用的镜像一定要是highest priority的镜像,否则会下载失败
conda install pytorch torchvision torchaudio cpuonly –c 镜像地址

在这里插入图片描述
在这里插入图片描述
4. 直接复制自己对应的镜像源即可
在这里插入图片描述
5. 出现下图所示,就是安装完成。
在这里插入图片描述

5. 验证pytorch是否安装成功

  • 在安装pytorch的虚拟环境下输入conda list 查看是否有pytorch
    在这里插入图片描述
    在虚拟环境下运行python并导入torch
    在这里插入图片描述
print(torch.__version__)

注:这里我们导入torch失败,报错Cannot load mkl_intel_thread.dll
错误警告

  • INTEL MKL ERROR: 找不到指定的模块。 mkl_intel_thread.dll.
  • Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.
    一些需要mkl_intel_thread.dll文件的python库无法加载其文件,主要原因是环境问题。

解决方法

#使用conda或者pip对其跟新
conda update numpy
conda update mkl

在此执行

import torch
print(torch.__version__)

显示PyTorch 的版本号,说明 PyTorch 已经成功安装。

四、GPU版本pytorch安装

首先和CPU版本安装一样,创建一个虚拟环境,前面提到,这里不在重复。
在这里插入图片描述

1. 查看自己电脑的GPU

在任务管理器中可查看GPU
在这里插入图片描述
如果没安装显卡驱动,先安装最新的显卡驱动,到官网自行安装即可。
查看驱动版本。win + r ,输入cmd 进入终端,输入指令:

nvidia-smi

在这里插入图片描述
我的 CUDA 驱动版本是 12.1,这表示驱动所支持的最大 CUDA 运行时 API 版本是 12.1。因此,如果要安装 CUDA 运行时版本,就需要确保 CUDA 驱动版本 >= CUDA 运行时版本,也就是说可以安装 12.1 及更早的版本。

2. 安装pytorch

直接进入创建的虚拟环境中输入命令,安装成功:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

在这里插入图片描述

3. 验证是否安装成功

指令:

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

可以直接进入终端python运行指令检验
在这里插入图片描述
出现以上界面说明安装成功
也可以直接在pycharm编辑器中验证。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用GPU环境,最后输出cu121、True,说明安装成功

五、补充

1. 卸载当前的PyTorch版本

进入所在的虚拟环境,输入以下指令即可。

pip uninstall torch torchvision torchaudio

在这里插入图片描述

六、如何使用Anaconda环境

1.pycharm如何使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. jupyter如何使用

打开Anaconda Prompt
在这里插入图片描述
切换到自己想要使用的环境

conda activate 环境名

执行

conda install nb_conda

输入y
在这里插入图片描述
显示done下载成功
执行jupyter notebook
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/26af33110a2f45d4a774dbe99d92d708.pn

相关文章:

Python学习第十七天之PyTorch保姆级安装

PyTorch安装与部署 一、准备工作二、pytorch介绍三、CPU版本pytorch安装1. 创建虚拟环境2. 删除虚拟环境1. 通过环境名称删除2. 通过环境路径删除 3. 配置镜像源4. 安装pytorch1. 首先激活环境变量2. 进入pytorch官网,找到安装指令 5. 验证pytorch是否安装成功 四、…...

有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2

https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package...

什么是 Java 中的线程安全?

回答 Java 中的线程安全(Thread Safety)指的是在多线程环境下,当多个线程同时访问和操作共享资源(如对象、变量、数据结构等)时,能够保证程序的正确性,不会出现数据不一致、竞争条件&#xff0…...

计算机视觉(opencv-python)入门之图像的读取,显示,与保存

在计算机视觉领域,Python的cv2库是一个不可或缺的工具,它提供了丰富的图像处理功能。作为OpenCV的Python接口,cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV CV2常用图像处理方…...

QT:Graphics View的坐标系介绍

在 Qt 的 Graphics View 框架中,存在三种不同的坐标系,分别是 物品坐标系(Item Coordinates)、场景坐标系(Scene Coordinates) 和 视图坐标系(View Coordinates)。这三种坐标系在图形…...

530 Login fail. A secure connection is requiered(such as ssl)-java发送QQ邮箱(简单配置)

由于cs的csdN许多文章关于这方面的都是vip文章,而本文是免费的,希望广大网友觉得有帮助的可以多点赞和关注! QQ邮箱授权码到这里去开启 授权码是16位的字母,填入下面的mail.setting里面的pass里面 # 邮件服务器的SMTP地址 host…...

vs2015下使用openmp

一 OPENMP 简介 OpenMP(Open Multi-Processing)是一个基于共享内存的并行编程API,通过编译器指令实现多线程并行开发。其核心特性包括: 1)通过简单的#pragma指令实现并行化 2)支持增量并行(逐步优化代码) 3)跨平台(Windows/Linux/macOS) 4)支持C/C++/Fortra …...

Docker 搭建 Gitlab 服务器 (完整详细版)

参考 Docker 搭建 Gitlab 服务器 (完整详细版)_docker gitlab-CSDN博客 Docker 安装 (完整详细版)_docker安装-CSDN博客 Docker 日常命令大全(完整详细版)_docker命令-CSDN博客 1、Gitlab镜像 # 查找Gitlab镜像 docker search gitlab # 拉取Gitlab镜像 docker pull gitlab/g…...

【万字长文】开源之播对话白鲸开源CEO郭炜--乐观主义的开源精神走得更远

本文为白鲸开源科技CEO郭炜1小时深度访谈全记录 来源于:开源之播」Episode15:对话郭炜–乐观主义的开源精神走得更远 大家好,我是郭炜,开源圈的“郭大侠”。作为 Apache 基金会的成员,我曾参与并孵化了多个开源项目,如…...

机试刷题_674. 最长连续递增序列【python】

674. 最长连续递增序列 class Solution:def findLengthOfLCIS(self, nums: List[int]) -> int:if not nums:return 0if len(nums)1:return 1left 0right len(nums)-1tmp []tmp.append(nums[0])res 0while left<right:if nums[left]<nums[left1]:tmp.append(nums[l…...

ipe网络安全

&#x1f345; 点击文末小卡片 &#xff0c;免费获取网络安全全套资料&#xff0c;资料在手&#xff0c;涨薪更快 什么是IDS&#xff1f; IDS是英文"Intrusion Detection Systems"的缩写&#xff0c;中文意思是"入侵检测系统"。 大家还记得「网络安全」安…...

QT:QPen、QBrush、与图形抗锯齿的关联

QPen QPen 是 Qt 框架中用于定义绘图时使用的画笔属性的类。在使用 QPainter 进行 2D 绘图时&#xff0c;QPen 可以控制线条的外观&#xff0c;比如线条的颜色、宽度、样式&#xff08;如实线、虚线等&#xff09;、端点样式&#xff08;如方形端点、圆形端点等&#xff09;和…...

android keystore源码分析

架构 Android Keystore API 和底层 Keymaster HAL 提供了一套基本的但足以满足需求的加密基元&#xff0c;以便使用访问受控且由硬件支持的密钥实现相关协议。 Keymaster HAL 是由原始设备制造商 (OEM) 提供的动态加载库&#xff0c;密钥库服务使用它来提供由硬件支持的加密服…...

【12】智能合约开发入门

12-1 在线合约开发 Cloud IDE简介 基本框架 Cloud IDE是BaaS合约平台提供的在线合约开发工具 IDE是一个去中心化应用&#xff08;Dapp&#xff09;&#xff0c;通过JavaScript SDK直接与区块链平台通信&#xff0c;进行合约部署和调用 核心功能 合约工程管理 合约编辑与编…...

web安全——分析应用程序

文章目录 一、确定用户输入入口点二、确定服务端技术三、解析受攻击面 一、确定用户输入入口点 在检查枚举应用程序功能时生成的HTTP请求的过程中&#xff0c;用户输入入口点包括&#xff1a; URL文件路径 通常&#xff0c;在查询字符?之前的URL部分并不视为用户输入入口&am…...

Wpf 之Generic.xaml

在 WPF 中&#xff0c;Generic.xaml 是一个特殊的资源文件&#xff0c;它会被自动加载&#xff0c;不需要显式添加。这是 WPF 的命名约定。当 WPF 初始化自定义控件时&#xff0c;它会专门查找这个名字的文件。 这个名字是硬编码在 WPF 框架中的&#xff0c;不能改变。 Generi…...

VidSketch:具有扩散控制的手绘草图驱动视频生成

浙大提出的VidSketch是第一个能够仅通过任意数量的手绘草图和简单的文本提示来生成高质量视频动画的应用程序。该方法训练是在单个 RTX4090 GPU 上进行的&#xff0c;针对每个动作类别使用一个小型、高质量的数据集。VidSketch方法使所有用户都能使用简洁的文本提示和直观的手绘…...

解锁C# XML编程:从新手到实战高手的蜕变之路

一、引言&#xff1a;XML 在 C# 中的关键地位 在 C# 开发的广袤领域中&#xff0c;XML&#xff08;可扩展标记语言&#xff0c;eXtensible Markup Language&#xff09;宛如一颗璀璨的明星&#xff0c;占据着举足轻重的地位。它以其独特的结构化和自描述特性&#xff0c;成为了…...

kafka-leader -1问题解决

一. 问题&#xff1a; 在 Kafka 中&#xff0c;leader -1 通常表示分区的领导者副本尚未被选举出来&#xff0c;或者在获取领导者信息时出现了问题。以下是可能导致出现 kafka leader -1 的一些常见原因及相关分析&#xff1a; 1. 副本同步问题&#xff1a; 在 Kafka 集群中&…...

超大规模分类(四):Partial FC

人脸识别任务里&#xff0c;通常利用全连接层&#xff0c;来做人脸的分类。会面临三个实际问题&#xff1a; 真实的人脸识别数据噪声严重真实的人脸识别数据存在严重的长尾分布问题&#xff0c;一些类别样本多&#xff0c;多数类别样本少人脸类别越来越多&#xff0c;全连接层…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及&#xff0c;充电桩作为核心配套设施&#xff0c;其安全性与可靠性备受关注。然而&#xff0c;在高温、高负荷运行环境下&#xff0c;充电桩的散热问题与消防安全隐患日益凸显&#xff0c;成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

&#x1f9e0; LangChain 中 TextSplitter 的使用详解&#xff1a;从基础到进阶&#xff08;附代码&#xff09; 一、前言 在处理大规模文本数据时&#xff0c;特别是在构建知识库或进行大模型训练与推理时&#xff0c;文本切分&#xff08;Text Splitting&#xff09; 是一个…...