PyTorch API 详细中文文档,基于PyTorch2.5
PyTorch API 详细中文文档
按模块分类,涵盖核心函数与用法示例
目录
- 张量操作 (Tensor Operations)
- 数学运算 (Math Operations)
- 自动求导 (Autograd)
- 神经网络模块 (torch.nn)
- 优化器 (torch.optim)
- 数据加载与处理 (torch.utils.data)
- 设备管理 (Device Management)
- 模型保存与加载
- 分布式训练 (Distributed Training)
- 实用工具函数
1. 张量操作 (Tensor Operations)
1.1 张量创建
函数 | 描述 | 示例 |
---|---|---|
torch.tensor(data, dtype, device) | 从数据创建张量 | torch.tensor([1,2,3], dtype=torch.float32) |
torch.zeros(shape) | 创建全零张量 | torch.zeros(2,3) |
torch.ones(shape) | 创建全一张量 | torch.ones(5) |
torch.rand(shape) | 均匀分布随机张量 | torch.rand(3,3) |
torch.randn(shape) | 标准正态分布张量 | torch.randn(4,4) |
torch.arange(start, end, step) | 创建等差序列 | torch.arange(0, 10, 2) → [0,2,4,6,8] |
torch.linspace(start, end, steps) | 线性间隔序列 | torch.linspace(0, 1, 5) → [0, 0.25, 0.5, 0.75, 1] |
1.2 张量属性
属性/方法 | 描述 | 示例 |
---|---|---|
.shape | 张量维度 | x = torch.rand(2,3); x.shape → torch.Size([2,3]) |
.dtype | 数据类型 | x.dtype → torch.float32 |
.device | 所在设备 | x.device → device(type='cpu') |
.requires_grad | 是否追踪梯度 | x.requires_grad = True |
1.3 张量变形
函数 | 描述 | 示例 |
---|---|---|
.view(shape) | 调整形状(不复制数据) | x = torch.arange(6); x.view(2,3) |
.reshape(shape) | 类似 view ,但自动处理内存连续性 | x.reshape(3,2) |
.permute(dims) | 调整维度顺序 | x = torch.rand(2,3,4); x.permute(1,2,0) |
.squeeze(dim) | 去除大小为1的维度 | x = torch.rand(1,3); x.squeeze(0) → shape [3] |
.unsqueeze(dim) | 添加大小为1的维度 | x = torch.rand(3); x.unsqueeze(0) → shape [1,3] |
2. 数学运算 (Math Operations)
2.1 逐元素运算
函数 | 描述 | 示例 |
---|---|---|
torch.add(x, y) | 加法 | torch.add(x, y) 或 x + y |
torch.mul(x, y) | 乘法 | torch.mul(x, y) 或 x * y |
torch.exp(x) | 指数运算 | torch.exp(torch.tensor([1.0])) → [2.7183] |
torch.log(x) | 自然对数 | torch.log(torch.exp(tensor([2.0]))) → [2.0] |
torch.clamp(x, min, max) | 限制值范围 | torch.clamp(x, min=0, max=1) |
2.2 矩阵运算
函数 | 描述 | 示例 |
---|---|---|
torch.matmul(x, y) | 矩阵乘法 | x = torch.rand(2,3); y = torch.rand(3,4); torch.matmul(x, y) |
torch.inverse(x) | 矩阵求逆 | x = torch.rand(3,3); inv_x = torch.inverse(x) |
torch.eig(x) | 特征值分解 | eigenvalues, eigenvectors = torch.eig(x) |
2.3 统计运算
函数 | 描述 | 示例 |
---|---|---|
torch.sum(x, dim) | 沿维度求和 | x = torch.rand(2,3); torch.sum(x, dim=1) |
torch.mean(x, dim) | 沿维度求均值 | torch.mean(x, dim=0) |
torch.max(x, dim) | 沿维度求最大值 | values, indices = torch.max(x, dim=1) |
torch.argmax(x, dim) | 最大值索引 | indices = torch.argmax(x, dim=1) |
3. 自动求导 (Autograd)
3.1 梯度计算
函数/属性 | 描述 | 示例 |
---|---|---|
x.backward() | 反向传播计算梯度 | x = torch.tensor(2.0, requires_grad=True); y = x**2; y.backward() |
x.grad | 查看梯度值 | x.grad → 4.0 (若 y = x² ) |
torch.no_grad() | 禁用梯度追踪 | with torch.no_grad(): y = x * 2 |
detach() | 分离张量(不追踪梯度) | y = x.detach() |
3.2 梯度控制
函数 | 描述 |
---|---|
x.retain_grad() | 保留非叶子节点的梯度 |
torch.autograd.grad(outputs, inputs) | 手动计算梯度 |
示例:
x = torch.tensor(3.0, requires_grad=True)
y = x**3 + 2*x
dy_dx = torch.autograd.grad(y, x) # 返回 (torch.tensor(29.0),)
4. 神经网络模块 (torch.nn)
4.1 层定义
类 | 描述 | 示例 |
---|---|---|
nn.Linear(in_features, out_features) | 全连接层 | layer = nn.Linear(784, 256) |
nn.Conv2d(in_channels, out_channels, kernel_size) | 卷积层 | conv = nn.Conv2d(3, 16, kernel_size=3) |
nn.LSTM(input_size, hidden_size) | LSTM 层 | lstm = nn.LSTM(100, 50) |
nn.Dropout(p=0.5) | Dropout 层 | dropout = nn.Dropout(0.2) |
4.2 激活函数
函数 | 描述 | 示例 |
---|---|---|
nn.ReLU() | ReLU 激活 | F.relu(x) 或 nn.ReLU()(x) |
nn.Sigmoid() | Sigmoid 函数 | torch.sigmoid(x) |
nn.Softmax(dim) | Softmax 归一化 | F.softmax(x, dim=1) |
4.3 损失函数
类 | 描述 | 示例 |
---|---|---|
nn.MSELoss() | 均方误差 | loss_fn = nn.MSELoss() |
nn.CrossEntropyLoss() | 交叉熵损失 | loss = loss_fn(outputs, labels) |
nn.BCELoss() | 二分类交叉熵 | loss_fn = nn.BCELoss() |
5. 优化器 (torch.optim)
5.1 优化器定义
类 | 描述 | 示例 |
---|---|---|
optim.SGD(params, lr) | 随机梯度下降 | optimizer = optim.SGD(model.parameters(), lr=0.01) |
optim.Adam(params, lr) | Adam 优化器 | optimizer = optim.Adam(model.parameters(), lr=0.001) |
optim.RMSprop(params, lr) | RMSprop 优化器 | optimizer = optim.RMSprop(params, lr=0.01) |
5.2 优化器方法
方法 | 描述 | 示例 |
---|---|---|
optimizer.zero_grad() | 清空梯度 | optimizer.zero_grad() |
optimizer.step() | 更新参数 | loss.backward(); optimizer.step() |
optimizer.state_dict() | 获取优化器状态 | state = optimizer.state_dict() |
6. 数据加载与处理 (torch.utils.data)
6.1 数据集类
类/函数 | 描述 | 示例 |
---|---|---|
Dataset | 自定义数据集基类 | 继承并实现 __len__ 和 __getitem__ |
DataLoader(dataset, batch_size, shuffle) | 数据加载器 | loader = DataLoader(dataset, batch_size=64, shuffle=True) |
自定义数据集示例:
class MyDataset(Dataset): def __init__(self, data, labels): self.data = data self.labels = labels def __len__(self): return len(self.data) def __getitem__(self, idx): return self.data[idx], self.labels[idx]
6.2 数据预处理 (TorchVision)
from torchvision import transforms transform = transforms.Compose([ transforms.Resize(256), # 调整图像大小 transforms.ToTensor(), # 转为张量 transforms.Normalize(mean=[0.5], std=[0.5]) # 标准化
])
7. 设备管理 (Device Management)
7.1 设备切换
函数/方法 | 描述 | 示例 |
---|---|---|
.to(device) | 移动张量/模型到设备 | x = x.to('cuda:0') |
torch.cuda.is_available() | 检查 GPU 是否可用 | if torch.cuda.is_available(): ... |
torch.cuda.empty_cache() | 清空 GPU 缓存 | torch.cuda.empty_cache() |
8. 模型保存与加载
函数 | 描述 | 示例 |
---|---|---|
torch.save(obj, path) | 保存对象(模型/参数) | torch.save(model.state_dict(), 'model.pth') |
torch.load(path) | 加载对象 | model.load_state_dict(torch.load('model.pth')) |
model.state_dict() | 获取模型参数字典 | params = model.state_dict() |
9. 分布式训练 (Distributed Training)
函数/类 | 描述 | 示例 |
---|---|---|
nn.DataParallel(model) | 单机多卡并行 | model = nn.DataParallel(model) |
torch.distributed.init_process_group() | 初始化分布式训练 | 需配合多进程使用 |
10. 实用工具函数
函数 | 描述 | 示例 |
---|---|---|
torch.cat(tensors, dim) | 沿维度拼接张量 | torch.cat([x, y], dim=0) |
torch.stack(tensors, dim) | 堆叠张量(新建维度) | torch.stack([x, y], dim=1) |
torch.split(tensor, split_size, dim) | 分割张量 | chunks = torch.split(x, 2, dim=0) |
常见问题与技巧
-
GPU 内存不足
- 使用
batch_size
较小的值 - 启用混合精度训练 (
torch.cuda.amp
) - 使用
torch.utils.checkpoint
节省内存
- 使用
-
梯度爆炸/消失
- 使用梯度裁剪:
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)
- 调整权重初始化方法
- 使用梯度裁剪:
-
模型推理模式
model.eval() # 关闭 Dropout 和 BatchNorm 的随机性 with torch.no_grad(): outputs = model(inputs)
文档说明
- 本文档基于 PyTorch 2.5 编写,部分 API 可能不兼容旧版本。
- 更详细的参数说明请参考 PyTorch 官方文档。
相关文章:
PyTorch API 详细中文文档,基于PyTorch2.5
PyTorch API 详细中文文档 按模块分类,涵盖核心函数与用法示例 目录 张量操作 (Tensor Operations)数学运算 (Math Operations)自动求导 (Autograd)神经网络模块 (torch.nn)优化器 (torch.optim)数据加载与处理 (torch.utils.data)设备管理 (Device Management)模…...
leetcode 2300. 咒语和药水的成功对数
题目如下 数据范围 示例 注意到n和m的长度最长达到10的5次方所以时间复杂度为n方的必然超时。 因为题目要求我们返回每个位置的spell对应的有效对数所以我们只需要找到第一个有效的药水就行,这里可以先对potions排序随后使用二分查找把时间复杂度压到nlogn就不会…...
C# 实现 “Hello World” 教程
.NET学习资料 .NET学习资料 .NET学习资料 C# 作为一种广泛应用于.NET 开发的编程语言,以其简洁、高效和类型安全等特性,深受开发者喜爱。在踏入 C# 编程领域时,编写经典的 “Hello World” 程序是重要的起点,它能帮助我们快速熟…...
Elasticsearch——Elasticsearch性能优化实战
摘要 本文主要介绍了 Elasticsearch 性能优化的实战方法,从硬件配置优化、索引优化设置、查询方面优化、数据结构优化以及集群架构设计等五个方面进行了详细阐述,旨在帮助读者提升 Elasticsearch 的性能表现。 1. 硬件配置优化 升级硬件设备配置一直都…...
CentOS 7 搭建lsyncd实现文件实时同步 —— 筑梦之路
在 CentOS 7 上搭建 lsyncd(Live Syncing Daemon)以实现文件的实时同步,可以按照以下步骤进行操作。lsyncd 是一个基于 inotify 的轻量级实时同步工具,支持本地和远程同步。以下是详细的安装和配置步骤: 1. 系统准备 …...
pytorch实现变分自编码器
人工智能例子汇总:AI常见的算法和例子-CSDN博客 变分自编码器(Variational Autoencoder, VAE)是一种生成模型,属于深度学习中的无监督学习方法。它通过学习输入数据的潜在分布(Latent Distribution)&…...
【数据结构】初识链表
顺序表的优缺点 缺点: 中间/头部的插入删除,时间复杂度效率较低,为O(N) 空间不够的时候需要扩容。 如果是异地扩容,增容需要申请新空间,拷贝数据,释放旧空间,会有不小的消耗。 扩容可能会存在…...
【llm对话系统】大模型 Llama 源码分析之并行训练方案
1. 引言 训练大型语言模型 (LLM) 需要巨大的计算资源和内存。为了高效地训练这些模型,我们需要采用各种并行策略,将计算和数据分布到多个 GPU 或设备上。Llama 作为当前最流行的开源大模型之一,其训练代码中采用了多种并行技术。本文将深入 …...
S4 HANA税码科目确定(OB40)
本文主要介绍在S4 HANA OP中税码科目确定(OB40)相关设置。具体请参照如下内容: 税码科目确定(OB40) 在以上界面维护“Transaction Key”的记账码。 在以上界面进一步维护“Transaction Key”确定科目的规则。 Chart of Account:用于明确该规则适用于什么科目表。 …...
Mysql的主从复制及扩展功能
一、配置过程 1.配置master vim /etc/my.cnf [mysqld] datadir/data/mysql 指定数据库文件的存储位置 socket/data/mysql/mysql.sock symbolic-links0 log-binmysql-bin 启用二进制日志,用于记录数据库的更…...
C#,入门教程(10)——常量、变量与命名规则的基础知识
上一篇: C#,入门教程(09)——运算符的基础知识https://blog.csdn.net/beijinghorn/article/details/123908269 C#用于保存计算数据的元素,称为“变量”。 其中一般不改变初值的变量,称为常变量,简称“常量”。 无论…...
ideal的maven使用(两种方法)
方法一: 1.建立一个maven项目 2.像上一篇博客,重新配置一下maven即可 方法二:模块和项目选项一样:...
doris:导入时实现数据转换
Doris 在数据导入时提供了强大的数据转换能力,可以简化部分数据处理流程,减少对额外 ETL 工具的依赖。主要支持以下四种转换方式: 列映射:将源数据列映射到目标表的不同列。 列变换:使用函数和表达式对源数据进行实时…...
开源智慧园区管理系统对比五款主流产品探索智能运营新模式
内容概要 在这个数字化迅速发展的时代,园区管理也迎来了全新的机遇和挑战。众所周知,开源智慧园区管理系统作为一种创新解决方案,正逐步打破传统管理的局限性。它的开放性不仅使得系统可以根据具体需求进行灵活调整,也为用户提供…...
ARM内核:嵌入式时代的核心引擎
引言 在当今智能设备无处不在的时代,ARM(Advanced RISC Machines)处理器凭借其高性能、低功耗的特性,成为智能手机、物联网设备、汽车电子等领域的核心引擎。作为精简指令集(RISC)的典范,ARM核…...
ITS290F Human Computer Interaction
ITS290F Human Computer Interaction & User Experience Design Lab 1. Introduction to CodePen What you’ll learn in this lab: • Understanding CodePen • Creating a front-end page • Using Google form to submit your lab work CodePen is a cloud-based in…...
[Java]继承
1. 什么是继承? 继承是面向对象编程的一种机制,允许一个类(叫做子类)继承另一个类(叫做父类)的属性和方法。也就是说,子类可以“继承”父类的行为(方法)和状态ÿ…...
DeepSeek能下围棋吗?(续)
休息了一下,接着琢磨围棋,其实前面一篇里的规则有个漏洞的,就是邻居关系定义有问题,先回顾一下游戏规则: 游戏规则 定义: 1.数字对,是指两个1到9之间的整数组成的有序集合。可与记为(m,n)&…...
51单片机(STC89C52)开发:点亮一个小灯
软件安装: 安装开发板CH340驱动。 安装KEILC51开发软件:C51V901.exe。 下载软件:PZ-ISP.exe 创建项目: 新建main.c 将main.c加入至项目中: main.c:点亮一个小灯 #include "reg52.h"sbit LED1P2^0; //P2的…...
【数据结构】并查集
1.基本操作 void makeset(){ for(int i1;i<n;i)fa[i]i; }int findd(int x){ while(fa[x]!x)xfa[x]fa[fa[x]]; return x; }void unionn(int x,int y){ int zxfindd(x);int zyfindd(y); if(zx!zy)fa[zy]zx; }2.种类并查集 Parity Game 关押罪犯 [NOIP 2010 提高组] 关押罪…...
基于Rectified Flow FLUX的图像编辑方法 RF-Solver
Diffusion Models专栏文章汇总:入门与实战 前言:现在越来越多的开源模型是基于Rectified Flow,特别是FLUX和HunYuan Video,但是Rectified Flow inversion的性质和之前有所不同,这篇博客解读一下如何使用Rectified Flow对FLUX进行编辑。 目录 RF直接逆向会出现问题 为什R…...
[创业之路-269]:《创业讨论会》- 系统之韵:从麻雀到5G系统的共通性探索
关键词: 从系统的角度,麻雀、人体系统、企业系统、软硬件系统、软件系统、通信系统、5G系统是类似的: 都有:内在看不见的规律、外在显性各种现象 都是:输入、处理、输出 都是:静态、要素、组成、结构、组织…...
C语言指针专题三 -- 指针数组
目录 1. 指针数组的核心原理 2. 指针数组与二维数组的区别 3. 编程实例 4. 常见陷阱与防御 5. 总结 1. 指针数组的核心原理 指针数组是一种特殊数组,其所有元素均为指针类型。每个元素存储一个内存地址,可指向不同类型的数据(通常指向同…...
Contrastive Imitation Learning
机器人模仿学习中对比解码的一致性采样 摘要 本文中,我们在机器人应用的对比模仿学习中,利用一致性采样来挖掘演示质量中的样本间关系。通过在排序后的演示对比解码过程中,引入相邻样本间的一致性机制,我们旨在改进用于机器人学习…...
Springboot使用AOP时,需不需要引入AspectJ?
Springboot使用AOP时,需不需要引入AspectJ? 在Spring Boot中使用AOP时,是否需要引入AspectJ取决于你选择的具体AOP实现方式。以下是详细分步说明: 1. 默认场景:使用Spring AOP(基于代理) 不需要引入AspectJ依赖&am…...
使用iis服务器模拟本地资源服务器unityaddressables热更新出错记录
editor中设置了using exculexing 模拟远程加载addressable可以实现资源热更新,build后的软件却没有成功。 iis服务器中mime中需要设置bundle的文件扩展名,时editor成功,build后失败 原因没有设置hash的扩展名,设置后editor和buil…...
17 一个高并发的系统架构如何设计
高并发系统的理解 第一:我们设计高并发系统的前提是该系统要高可用,起码整体上的高可用。 第二:高并发系统需要面对很大的流量冲击,包括瞬时的流量和黑客攻击等 第三:高并发系统常见的需要考虑的问题,如内存不足的问题,服务抖动的…...
MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
使用 mongosh cd mongsh_bin_path mongosh “mongodb://user:passip:port/db”这样就直接进入了对应的db 直接输入: 这样 role “read_only_role" 就获得了3个 action, 分别是 查询,列举集合,集合元数据查询 P.S: 如果没有 …...
我的AI工具箱Tauri版-Custom3DModelCreationforH2Panel卡通图片2D转绘3D
本教程基于自研的AI工具箱Tauri版进行ComfyUI工作流Custom3DModelCreationforH2Panel卡通图片2D转绘3D。 Custom3DModelCreationforH2Panel卡通图片2D转绘3D 基于先进的SD模型技术,能够将2D动漫图片高效转换为高清的3D图像,满足各种创作需求。通过智能算…...
1 HDFS
1 HDFS 1. HDFS概述2. HDFS架构3. HDFS的特性4. HDFS 的命令行使用5. hdfs的高级使用命令6. HDFS 的 block 块和副本机制6.1 抽象为block块的好处6.2 块缓存6.3 hdfs的文件权限验证6.4 hdfs的副本因子 7. HDFS 文件写入过程(非常重要)7.1 网络拓扑概念7.…...
14-6-3C++STL的list
(一)list的插入 1.list.insert(pos,elem);//在pos位置插入一个elem元素的拷贝,返回新数据的位置 #include <iostream> #include <list> using namespace std; int main() { list<int> lst; lst.push_back(10); l…...
GESP2023年12月认证C++六级( 第三部分编程题(2)工作沟通)
参考程序1代码: #include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <string> #include <map> #include <iostream> #include <cmath> #include <vector> using name…...
深度学习的应用
目录 一、机器视觉 1.1 应用场景 1.2 常见的计算机视觉任务 1.2.1 图像分类 1.2.2 目标检测 1.2.3 图像分割 二、自然语言处理 三、推荐系统 3.1 常用的推荐系统算法实现方案 四、图像分类实验补充 4.1 CIFAR-100 数据集实验 实验代码 4.2 CIFAR-10 实验代码 深…...
【自学笔记】MySQL的重点知识点-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MySQL重点知识点MySQL知识点总结一、数据库基础二、MySQL的基本使用三、数据类型四、触发器(Trigger)五、存储引擎六、索引七、事务处理八、…...
计算机网络之物理层通信基础(信道、信号、带宽、码元、波特、速率、信源与信宿等基本概念)
一、信道 信道是信号的传输媒介,一般用来表示向某一个方向传送信息的介质。信道可以按照不同标准进行分类: 按传输信号分类:可分为模拟信道和数字信道。 按传输介质分类:可分为无线信道和有线信道。无线信道以电磁波为传输介质&…...
C++初阶 -- 初识STL和string类详细使用接口的教程(万字大章)
目录 一、STL 1.1 什么是STL 1.2 STL的版本 1.3 STL的六大组件 二、string类 2.1 string类的基本介绍 2.2 string类的默认成员函数 2.2.1 构造函数 2.2.2 析构函数 2.2.3 赋值运算符重载 2.3 string类对象的容量操作 2.3.1 size和length 2.3.2 capacity 2.3.3 r…...
Cursor 背后的技术栈:从 VS Code 到 AI 集成
引言 在当今快速发展的软件开发领域,开发者工具正在经历一场由人工智能(AI)驱动的革命。Cursor 作为一款新兴的智能编程助手,凭借其强大的 AI 能力和高效的开发体验,迅速吸引了大量开发者的关注。Cursor 不仅继承了 V…...
ESP32和STM32在处理中断方面的区别
为了通俗地讲解ESP32和STM32在处理中断方面的区别,我们可以把它们想象成两个不同的“智能管家”系统,各自负责管理一个家庭(即嵌入式项目)的各种任务。我们将重点放在如何处理突发事件(即中断)上。 ESP32 …...
99.23 金融难点通俗解释:小卖部经营比喻PPI(生产者物价指数)vsCPI(消费者物价指数)
目录 0. 承前1. 简述:价格指数对比2. 比喻:两大指数对比2.1 简单对比2.2 生动比喻 3. 实际应用3.1 价格传导现象 4. 总结5. 有趣的对比6. 数据获取实现代码7. 数据可视化实现代码 0. 承前 本文主旨: 本文使用小卖部比喻PPI和CPI,…...
计算机网络概述
1. 计算机网络的定义 计算机网络是指由多个通过物理介质或无线方式互相连接的计算设备组成的系统。其主要目的是实现数据的传输和资源共享。网络中的计算设备可以包括台式机、笔记本电脑、服务器、手机、打印机、智能设备等。 网络的广义定义 首先要理解“网络”的广义含义。网…...
169 多数元素
给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 class Solution { public int majorityElement(int[] nums) { // 存储每个数字的…...
线程配置经验
工作时,时常会遇到,线程相关的问题与解法,本人会持续对开发过程中遇到的关于线程相关的问题及解决记录更新记录在此篇博客中。 目录 一、线程基本知识 1. 线程和进程 二、问题与解法 1. 避免乘法级别数量线程并行 1)使用线程池…...
算法随笔_34: 最后一个单词的长度
上一篇:算法随笔_33: 132模式-CSDN博客 题目描述如下: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1: 输入&am…...
java 正则表达式匹配Matcher 类
Matcher 类 用法 在 Java 中,Matcher 类是用于匹配正则表达式的工具,而 group() 方法是 Matcher 类中的一个重要方法,用于提取匹配结果中的捕获组(captured groups)。以下是对 group() 方法的详细解释: 1.…...
【Blazor学习笔记】.NET Blazor学习笔记
我是大标题 我学习Blazor的顺序是基于Blazor University,然后实际内容不完全基于它,因为它的例子还是基于.NET Core 3.1做的,距离现在很遥远了。 截至本文撰写的时间,2025年,最新的.NET是.NET9了都,可能1…...
python 使用Whisper模型进行语音翻译
目录 一、Whisper 是什么? 二、Whisper 的基本命令行用法 三、代码实践 四、是否保留Token标记 五、翻译长度问题 六、性能分析 一、Whisper 是什么? Whisper 是由 OpenAI 开源的一个自动语音识别(Automatic Speech Recognition, ASR)系统。它的主要特点是: 多语言…...
pytorch实现循环神经网络
人工智能例子汇总:AI常见的算法和例子-CSDN博客 PyTorch 提供三种主要的 RNN 变体: nn.RNN:最基本的循环神经网络,适用于短时依赖任务。nn.LSTM:长短时记忆网络,适用于长序列数据,能有效解决…...
侯捷 C++ 课程学习笔记:深入理解 C++ 核心技术与实战应用
目录 引言 第一章:C 基础回顾 1.1 C 的历史与发展 1.2 C 的核心特性 1.3 C 的编译与执行 第二章:面向对象编程 2.1 类与对象 2.2 构造函数与析构函数 2.3 继承与多态 第三章:泛型编程与模板 3.1 函数模板 3.2 类模板 3.3 STL 容器…...
大厂面试题备份20250131
20250131 模型压缩怎么做?除了知识蒸馏 模型压缩是为了减少深度学习模型的计算和存储需求,提高推理效率。除了知识蒸馏,常见的模型压缩方法包括: 1. 剪枝(Pruning) 非结构化剪枝(Unstructur…...
(三)QT——信号与槽机制——计数器程序
目录 前言 信号(Signal)与槽(Slot)的定义 一、系统自带的信号和槽 二、自定义信号和槽 三、信号和槽的扩展 四、Lambda 表达式 总结 前言 信号与槽机制是 Qt 中的一种重要的通信机制,用于不同对象之间的事件响…...