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

PyTorch常用命令(可快速上手PyTorch的核心功能,涵盖从数据预处理到模型训练的全流程)

以下是PyTorch常用命令的分类整理,涵盖张量操作、模型构建、数据加载、训练流程等核心内容:


1. 张量操作

  • 创建张量

    x = torch.tensor([1, 2, 3])           # 从数据创建
    x = torch.zeros(3, 3)                 # 全零张量
    x = torch.ones(3, 3)                  # 全一张量
    x = torch.randn(3, 3)                 # 标准正态分布随机数
    x = torch.arange(0, 10, step=2)       # 类似range的序列
  • 形状操作

    x = x.view(2, -1)                     # 调整形状(需连续内存)
    x = x.reshape(2, -1)                  # 更灵活的调整形状
    x = x.permute(1, 0)                   # 维度转置
    x = x.squeeze()                       # 删除维度为1的轴
    x = x.unsqueeze(0)                    # 增加维度为1的轴
  • 数学运算

    z = x + y                             # 逐元素加法
    z = torch.matmul(x, y)                # 矩阵乘法
    z = x.sum(dim=1)                      # 沿维度求和
    z = torch.cat([x, y], dim=0)          # 沿维度拼接张量

2. 模型构建

  • 定义模型

    import torch.nn as nn
    class MyModel(nn.Module):def __init__(self):super().__init__()self.fc = nn.Linear(10, 5)    # 全连接层self.relu = nn.ReLU()         # 激活函数def forward(self, x):return self.relu(self.fc(x))
  • 层与激活函数

    nn.Conv2d(in_channels, out_channels, kernel_size)  # 卷积层
    nn.LSTM(input_size, hidden_size)                   # LSTM层
    nn.BatchNorm2d(num_features)                       # 批归一化
    nn.Dropout(p=0.5)                                  # Dropout层
  • 损失函数

    criterion = nn.CrossEntropyLoss()      # 分类任务
    criterion = nn.MSELoss()              # 回归任务
  • 优化器

    optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
    optimizer = torch.optim.Adam(model.parameters())

3. 数据加载

  • 自定义数据集

    from torch.utils.data import Dataset, DataLoader
    class MyDataset(Dataset):def __len__(self): return len(data)def __getitem__(self, idx): return data[idx], label[idx]dataset = MyDataset()
    dataloader = DataLoader(dataset, batch_size=32, shuffle=True)
  • 预加载数据集

    from torchvision import datasets, transforms
    transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5,), (0.5,))
    ])
    mnist = datasets.MNIST(root='./data', train=True, download=True, transform=transform)

4. 训练流程

  • 训练循环模板

    device = 'cuda' if torch.cuda.is_available() else 'cpu'
    model = MyModel().to(device)for epoch in range(num_epochs):model.train()for inputs, labels in dataloader:inputs, labels = inputs.to(device), labels.to(device)outputs = model(inputs)          # 前向传播loss = criterion(outputs, labels)optimizer.zero_grad()           # 清零梯度loss.backward()                 # 反向传播optimizer.step()                # 更新参数
  • 评估模式

    model.eval()
    with torch.no_grad():                   # 禁用梯度计算for inputs, labels in val_loader:outputs = model(inputs)

5. 模型保存与加载

# 保存模型参数
torch.save(model.state_dict(), 'model.pth')# 加载模型参数
model.load_state_dict(torch.load('model.pth'))

6. 设备管理

device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = model.to(device)                  # 模型移至GPU
x = x.to(device)                         # 数据移至GPU
torch.cuda.empty_cache()                  # 清理GPU缓存

7. 其他实用命令

  • 与NumPy互转

    numpy_array = torch_tensor.numpy()       # Tensor → NumPy
    torch_tensor = torch.from_numpy(numpy_array)  # NumPy → Tensor
  • 随机种子设置

    torch.manual_seed(42)                   # 固定随机性
  • 自动求导

    x = torch.tensor(1.0, requires_grad=True)
    y = x**2
    y.backward()                            # 计算梯度
    print(x.grad)                           # 输出梯度值: 2.0

如果此文章对您有所帮助,那就请点个赞吧,收藏+关注 那就更棒啦,十分感谢!!! 

相关文章:

PyTorch常用命令(可快速上手PyTorch的核心功能,涵盖从数据预处理到模型训练的全流程)

以下是PyTorch常用命令的分类整理,涵盖张量操作、模型构建、数据加载、训练流程等核心内容: 1. 张量操作 创建张量 x torch.tensor([1, 2, 3]) # 从数据创建 x torch.zeros(3, 3) # 全零张量 x torch.ones(3, 3) …...

软开错题(二)

SNMP的传输层协议是UDP Linux操作系统中通常使用apache作为web服务器,其默认的web站点的目录是 /var/www/html 归并排序不是原地排序 邻接表:包含n个头节点和e个表节点,其广度和深度遍历的时间复杂度都是O(ne) grant使用方式 grant 权限 …...

拉削丝锥,螺纹类加工的选择之一

在我们的日常生活中,螺纹连接无处不在,从简单的螺丝钉到复杂的机械设备,都离不开螺纹的精密加工。今天,给大家介绍一种的螺纹刀具——拉削丝锥: 一、拉削丝锥的工作原理 拉削丝锥,听起来有点陌生吧&#…...

【Python Number(数字)】

Python 中的数字类型是编程的基础元素,用于表示数值数据并进行数学运算。以下是 Python 数字类型的核心知识点: 一、基础数字类型 整数(int) 表示整数值,例如 42, -7, 0支持任意精度(无大小限制&#xff09…...

​​大疆无人机SDR 链路​​

在大疆无人机或通信技术领域,​​SDR​​ 是 ​​Software-Defined Radio(软件定义无线电)​​ 的缩写,而 ​​SDR 链路​​ 指的是一种​​通过软件编程实现无线通信功能的技术链路​​。其核心是通过软件动态调整通信参数&#…...

linux基础学习--linux磁盘与文件管理系统

linux磁盘与文件管理系统 1.认识linux系统 1.1 磁盘组成与分区的复习 首先了解磁盘的物理组成,主要有: 圆形的碟片(主要记录数据的部分)。机械手臂,与在机械手臂上的磁头(可擦写碟片上的内容)。主轴马达,可以转动碟片,让机械手臂的磁头在碟片上读写数据。 数据存储…...

【Qt】Qt 构建系统详解:qmake 入门到项目实战

Qt 构建系统详解:qmake 入门到项目实战 本文将系统介绍 Qt 构建工具 qmake 的用法,并通过一个完整的项目结构示例,帮助你掌握 .pro 文件编写、子项目管理、模块依赖等核心技能。 🧭 一、什么是 qmake? qmake 是 Qt 提…...

Laravel 12 实现验证码功能

Laravel 12 实现验证码功能 在 Laravel 12 中实现验证码功能可以通过多种方式,以下是几种常见的方法: 方法一:使用 Captcha 包(推荐) 首先安装 mews/captcha 包: composer require mews/captcha发布配置…...

深入解析Http11AprProtocol:Tomcat高性能通信的底层原理

HTTP/1.1 协议作为 Web 通信的基础标准,其实现效率直接影响服务器性能。Apache Tomcat 作为 Java 生态中最流行的 Servlet 容器,提供了多种 HTTP 协议实现方案,其中基于 Apache Portable Runtime(APR)的 Http11AprProt…...

HTTP请求与缓存、页面渲染全流程

文章目录 前言**1. HTTP请求与缓存处理****缓存机制**• 强缓存(Cache-Control / Expires)• 协商缓存(Last-Modified / ETag) **2. 服务器响应与数据解析****3. HTML DOM 构建****4. CSSOM 构建****5. 渲染树(Render …...

HTB - Eureka记录

HTB - Eurekahttps://mp.weixin.qq.com/s/r1WmZXNR6YkvnwP40liciA...

CentOS 7 基础环境安装脚本

🌟 CentOS 7 基础环境安装脚本使用文档 🧰 一键部署!助你在 CentOS 7 系统上快速构建高效开发环境。 开源地址:https://github.com/hahaha-zsq/Shortcut-Script CentOS 7 基础环境安装脚本使用 📦 项目结构一览 ./ ├…...

【Python 模块】

Python 中的模块(Module)是组织代码的核心方式,通过将相关函数、类和变量封装到独立文件中,实现代码复用和结构化管理。以下是模块的核心知识点: 一、基础概念 1. 模块定义 任何 .py 文件都是一个模块模块名即文件名…...

极狐Gitlab 如何创建并使用子群组?

极狐GitLab 是 GitLab 在中国的发行版,关于中文参考文档和资料有: 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 子群组 (BASIC ALL) 您可以将极狐GitLab 群组组织成子群组。您可以使用子群组: 内部和外部组织分开。因为每个子…...

【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装)

【MCP】服务端搭建(python和uv环境搭建、nodejs安装、pycharma安装) 服务端搭建(1)python和uv环境搭建(2)nodejs安装(3)pycharm安装 服务端搭建 (1)python和…...

【疑难杂症2025-003】Java-mvn项目在gitlab-ci构建镜像时遇到的问题和解决方案

本文由Markdown语法编辑器编辑完成. 1.背景: 之前从同事手里接手了一个java的项目,是用maven构建项目的.由于我们的服务都是基于docker来部署的,因此这个java项目也是要编译成docker image然后发布.但是之前一直都是…...

AI与Web3.0:去中心化智能合约的未来

AI与Web3.0:去中心化智能合约的未来 系统化学习人工智能网站(收藏):https://www.captainbed.cn/flu 文章目录 AI与Web3.0:去中心化智能合约的未来摘要引言1.1 技术演进背景1.2 行业格局分化 技术架构对比2.1 智能合约…...

记录学习的第三十五天

今天主攻单源最短路Dijkstra算法。不过,还是没有完全掌握。 首先是书本的例题我理解了一遍。 然后其实在力扣上做了三道题的,但是我看题解的情况就不太会。然后试着用上面的方法敲了一下↓的题,但是不对啊,我也不知道为什么呀。...

虚拟现实(VR)与增强现实(AR)在教育领域的应用:开启沉浸式学习新时代

前言 随着科技的飞速发展,虚拟现实(VR)和增强现实(AR)技术逐渐从游戏和娱乐领域走向教育领域。传统的教育模式主要依赖于书本、黑板和课堂讲解,这种模式虽然有效,但往往难以激发学生的学习兴趣和…...

线性代数之矩阵运算:驱动深度学习模型进化的数学引擎

目录 一、矩阵运算的基本概念与类型 二、矩阵运算在深度学习中的核心作用 三、典型深度学习模型中的矩阵运算实现 四、矩阵运算的优化与加速 五、未来发展趋势与挑战 矩阵运算是线性代数的核心组成部分,也是深度学习模型构建和优化的数学基础。从基本的前向传播到复杂的注…...

Spring AI(1)—— 基本使用

Spring AI 是一个用于 AI 工程的应用程序框架。 其目标是将 Spring 生态系统设计原则应用于 AI 领域。 Spring AI 提供以下功能: 支持所有主要的 AI 模型提供商,例如 Anthropic、OpenAI、Microsoft、Amazon、Google 和 Ollama等。支持跨 AI 提供商对同…...

深入浅出HTML:构建现代网页的基石

深入浅出HTML:构建现代网页的基石 引言 在数字世界的基石中,HTML(HyperText Markup Language)始终扮演着不可替代的角色。作为万维网的核心语言,HTML经历了30年的演变,从简单的文档标记发展到支持复杂Web…...

ai说什么是注解,并以angular ts为例

在编程中,注解(Annotation) 是一种特殊的语法结构,用于为代码添加元数据(metadata),从而在不修改代码逻辑的情况下,提供额外的信息或指示编译器、框架、工具如何处理这些代码。注解通…...

【存储管理—动态不等长存储资源分配算法】

文章目录 一、实验目的二、实验内容与设计思想实验内容设计思路 三、实验代码实现四、总结 一、实验目的 理解动态异长存储分区资源管理,掌握所需数据结构和管理程序,了解各种存储分配算法的优点和缺点。 二、实验内容与设计思想 实验内容 1.分析uni…...

【25软考网工】第五章(8)路由协议RIP、OSPF

目录 一、路由协议--RIP 1. RIP协议 1)RIPv1与RIPv2对比 2. 距离矢量路由协议 1)距离矢量路由协议特点 2)RIP路由的度量值 3)路由优先级 4)RIP防环机制 3. 应用案例 1)例题:RIPv1与RIPv2区别 2&…...

日常开发中,iOS 性能调优我们怎么做?

日常开发中,iOS 性能调优我们怎么做?聊聊我用过的几款工具 最近在给一个 iOS 视频类 App 做性能优化,过程中踩了不少坑,也用了一些不错的工具,今天就以一个开发者视角随便聊聊我在调试过程中的一些经验。 一、性能问…...

JNDI 注入原理解析

文章目录 JNDI基础概述JNDI SPI命名服务目录服务 JNDI演示查询 DNS 服务查询 LDAP 服务条目动态协议切换 JNDI 注入漏洞 JNDI基础 概述 JNDI(Java Naming and Directory Interface)是Java提供的标准命名和目录接口,通过统一的API使应用程序…...

Android开发-视图基础

在Android应用开发中,视图(View)是构建用户界面的基本元素。无论是按钮、文本框还是复杂的自定义控件,它们都是基于View类或其子类实现的。掌握视图的基础知识对于创建功能强大且美观的应用至关重要。本文将深入探讨Android中的视…...

Prometheus实战教程:k8s平台-Redis监控案例

以下是 Prometheus 自动发现 Redis 实例的完整 YAML 文件示例,适用于生产环境。该配置包括: Redis 部署:运行 Redis 实例。Redis Exporter:用于暴露 Redis 指标。Prometheus 自动发现:通过 Kubernetes 服务发现自动抓…...

Prompt Engineering 提示词工程学习

一、Prompt Engineering 简介 Prompt Engineering 是设计和优化输入提示(Prompt)以获得预期输出的过程。在与大型语言模型(如 GPT-4)交互时,如何构造提示会显著影响模型的回答质量。 二、Prompt 的重要性 提高生成准确性:通过正确的 Prompt 引导,模型能够更好地理解用…...

数造科技携 DataBuilder 亮相安徽科交会,展现“DataOps +AI”双引擎魅力

近日,数造科技受邀参加第三届中国(安徽)科技创新成果转化交易。 作为国内领先的数据开发与治理平台提供商,数造科技携带其核心产品 DataBuilder 精彩亮相 “新一代信息技术展区”,吸引了众多参会者的目光。 关于 DataB…...

Linux/AndroidOS中进程间的通信线程间的同步 - 共享内存

在之前的文章中介绍了允许无关进程共享内存区域以便执行 IPC 的技术:共享文件映射。但他存在一些不足。 使用一个共享文件映射来进行 IPC 要求创建一个磁盘文件,即使无需对共享区域进行持久存储也需要这样做。除此之外,这种技术还会带来一些…...

ES6入门---第三单元 模块七: Proxy的使用+Reflect的使用

proxy: 代理 扩展(增强)对象、方法(函数)一些功能 比如: Vue Vue.config.keyCodes.enter65 Proxy作用: 比如vue中拦截 预警、上报、扩展功能、统计、增强对象等等 proxy是设计模式一种, 代理模式 语法: new Proxy(target, handler); …...

【JAVA】BigDecimal判断是否为0, / by zero的问题修复

bug场景 我要处理一个任务完成率的计算,任务完成率pct 实际值 real / 任务值 task 进入计算前,我需要判断task是否为空,或者为0,防止除法出错。 之前使用了equal方法 if(!task.equals(BigDecimal.ZERO))//开始计算因为刚开始测…...

从 “机器人 +“ 到 “+ 机器人“:算力政策撬动的产业生态革命

在深圳光明科学城的云端算力平台上,数据以每秒千万次的速度流动,这里每年发放的 600 万元算力补贴,正如同催化剂般激活着人形机器人产业的深层变革。当广东将 "算力券" 政策精准嵌入珠三角制造体系,一场从 "单机智…...

如何在24G显存机器上搭建一个超过gpt效果的DeepSeek-R1?

DeepSeek-R1蒸馏模型概述与应用指南 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/5af5a8b13de14bd1a95837bbf1ccaf2a.png#pic_center) 引言 DeepSeek-R1作为一款先进的AI推理模型,在性能上已超越GPT-4o和Claude-3.5等主流开源模型。为满足更广泛应用…...

seamless_communication,facebook推出的开源语音翻译项目

Seamless Communication‌是由Facebook Research开发的一个开源项目,旨在提供先进的语音和文本翻译功能,支持多国语音。 今天试着来复现下。 1、首先下载代码。 git clone https://github.com/facebookresearch/seamless_communication 2、按照步骤执…...

C++从入门到实战(十二)详细讲解C++如何实现内存管理

C从入门到实战(十二)详细讲解C如何实现内存管理 前言一、C内存管理方式1. new/delete操作内置类型2. 异常与内存管理的联系(简单了解)3. new和delete操作自定义类型 二、 operator new与operator delete函数(重点&…...

console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI

​一、软件介绍 文末提供程序和源码下载 console-chat-gpt开源程序是用于 AI Chat API 的 Python CLI,与 AI 模型聊天的终极 CLI 伴侣,直接从命令行享受与 OpenAI、MistralAI、Anthropic、xAI、Google AI、DeepSeek、阿里巴巴、Inception 或 Ollama 托管…...

影刀RPA开发-程序备注说明的必要性

1. 备注指令的调用 1.1 指令搜索 搜索出备注指令后,添加到代码框中 1.2 快捷输入 在代码框中,输入指令关键字,可以快速展示出相关指令 2.备注指令内容设置 备注信息要依据代码执行的功能书写 尽量写明该语句或该段落代码的功能作用 单行…...

第十节:图像处理基础-图像算术运算 (加法、减法、混合)

引言 在计算机视觉领域,图像算术运算是最基础却至关重要的核心技术。无论是实现简单的图片合成、开发智能监控系统,还是构建复杂的医学影像分析工具,加减运算和混合操作都扮演着关键角色。OpenCV作为最流行的计算机视觉库,提供了…...

如何使用UGUI的EventTrigger

前言 在 Unity 的 UGUI 系统中,EventTrigger 是一个强大的组件,允许开发者监听和处理多种 UI 交互事件。以下是详细的使用方法、示例代码、优缺点分析以及注意事项。 一、EventTrigger 基本用法 1. 添加 EventTrigger 组件 在 Unity 编辑器中选中 UI 对象(如 But…...

5G赋能农业物联网:智能化种植的新纪元

5G赋能农业物联网:智能化种植的新纪元 在农业领域,精准化、智能化已成为现代农业发展的方向。而5G的出现,让农业物联网(Agri-IoT)突破了传统的瓶颈,真正实现了实时监测、高效数据传输、智能化决策&#xf…...

LeetCode 热题 100 64. 最小路径和

LeetCode 热题 100 | 64. 最小路径和 大家好,今天我们来解决一道经典的动态规划问题——最小路径和。这道题在 LeetCode 上被标记为中等难度,要求找到从网格的左上角到右下角的路径,使得路径上的数字总和为最小。 问题描述 给定一个包含非负…...

精益数据分析(45/126):媒体网站商业模式的深度剖析与挑战应对

精益数据分析(45/126):媒体网站商业模式的深度剖析与挑战应对 在创业和数据分析的领域中,探索不同商业模式的运作机制和关键要点是提升业务能力的重要途径。今天,我们依旧带着共同进步的目标,深入研读《精…...

学习Linux的第四天

今天我们来学习Linux的网络配置,以及链表的知识开个小头 三种网络配置模式 桥接模式(用的最多) 2.Nat模式 3. 仅主机模式(Nat模式的功能外,只能在局域网通信,不能访问外网) 桥接模式&#xf…...

AGV导航控制器技术方案——基于EFISH-SBC-RK3576/SAIL-RK3576的国产化革新‌(新一代工业级自主可控解决方案)‌

一、方案核心架构 ‌1. 硬件拓扑设计‌ ‌主控单元‌:SAIL-RK3576核心板(八核A72A53M0异构架构)‌传感器层‌: 双激光雷达(RS-LiDAR-16线 SICK TIM240)9轴IMU(BMI088) 轮式编码器&…...

ISCC 2025练武题 WP部分

总结 垃圾比赛,垃圾题目,纯脑洞题,技术好不好没得关系,就看你脑洞大不大。 web里塞misc,re里塞misc真是牛逼他妈给牛逼开门牛逼到家。 逆天平台,卡的一批,靶机还是公用的,把flag删…...

mysql:什么是一致性视图(Read View)

一致性视图(Read View)是 MVCC(多版本并发控制)中的核心概念,用于实现事务隔离性。 它是一个逻辑概念,让事务在读取数据时看到特定时间点的数据库快照,而不受其他事务并发修改的影响。 一致性…...

android中背压问题面试题及高质量回答范例

🎯 回答的目标是: 表现出你理解背压的本质(不是框架知识,而是系统层面的问题)。 能清晰讲出几种处理背压的方案(理论 实战)。 能结合 Android 场景讲具体例子(比如 UI 线程、网络…...