收藏本站,收获最前沿的人工智能与编程资讯!!
​PyTorch 2.12 保存和加载模型

​PyTorch 2.12 保存和加载模型

技术文档 12℃ 0
在本节中,我们将学习如何通过保存、加载和运行模型预测来持久化模型状态。import torch import torchvision.models as models保存和加载模型权重PyTorch 模型将学习到的参数存储在一个名为state_dict的内部状态字典中。这些参数可以通过torch.save方法进行持久化:model = models.vgg16(weights='IMAGENET1K_V1') torch.save(model.state_dict(), 'model_weights.pth')Downloadi...
​PyTorch 2.12​ 优化模型参数

​PyTorch 2.12​ 优化模型参数

技术文档 8℃ 0
优化模型参数现在我们已经拥有了模型和数据,接下来该通过在数据上优化模型参数来训练、验证和测试我们的模型了。训练模型是一个迭代过程;在每次迭代中,模型会对输出结果进行预测,计算预测误差(损失),计算误差相对于参数的导数(正如我们在上一节中看到的),并使用梯度下降法优化这些参数。有关该过程的更详细讲解,可以查看3Blue1Brown关于反向传播的视频。前置代码import torch from torch import nn from torch.utils.data import DataLoader from torchvision im...
​PyTorch 2.12 使用 torch.autograd 实现自动微分

​PyTorch 2.12 使用 torch.autograd 实现自动微分

技术文档 13℃ 0
训练神经网络时,最常用的算法是反向传播。在该算法中,参数(模型权重)会根据损失函数相对于给定参数的梯度进行调整。为了计算这些梯度,PyTorch 内置了一个名为 torch.autograd 的微分引擎。它支持对任意计算图自动计算梯度。考虑最简单的单层神经网络,包含输入 x、参数 w 和 b,以及某个损失函数。它可以在 PyTorch 中按以下方式定义:import torch x = torch.ones(5)  # input tensor y = torch.zeros(3)  # expected&...
PyTorch 2.12 ​构建神经网络

PyTorch 2.12 ​构建神经网络

技术文档 8℃ 0
神经网络由对数据执行操作的层/模块组成。torch.nn 命名空间提供了构建自定义神经网络所需的所有基础组件。PyTorch 中的每个模块都继承自 nn.Module。神经网络本身就是一个由其他模块(层)组成的模块,这种嵌套结构可以轻松构建和管理复杂的架构。在接下来的章节中,我们将构建一个神经网络,用于对 FashionMNIST 数据集中的图像进行分类。import os import torch from torch import nn from torch.utils.data import DataLoader from tor...
PyTorch 2.12 ​转换 transform

PyTorch 2.12 ​转换 transform

技术文档 12℃ 0
数据并非总是以训练机器学习算法所需的最终处理形式呈现。我们使用转换对数据进行一些处理,使其适合用于训练。所有 TorchVision 数据集都有两个参数——transform 用于修改特征,target_transform 用于修改标签——这两个参数接受包含转换逻辑的可调用对象。torchvision.transforms 模块提供了多种开箱即用的常用转换方法。FashionMNIST 的特征为 PIL 图像格式,标签为整数。为了进行训练,我们需要将特征转换为归一化张量,将标签转换为独热编码张量。为了实现这些转换,我们使用 torchvision.transforms.v2 API 以及 torch.nn.functional.on...
PyTorch 2.12 ​数据集与数据加载器 Datasets 和 DataLoaders

PyTorch 2.12 ​数据集与数据加载器 Datasets 和 DataLoaders

技术文档 11℃ 0
处理数据样本的代码可能会变得混乱且难以维护;理想情况下,我们希望数据集代码与模型训练代码解耦,以提高可读性和模块化程度。PyTorch 提供了两个数据原语:torch.utils.data.DataLoader 和 torch.utils.data.Dataset,允许你使用预加载的数据集以及自定义数据。Dataset 存储样本及其对应的标签,DataLoader 在 Dataset 基础上包装了一个可迭代对象,以便轻松访问样本。PyTorch 领域库提供了许多预加载的数据集(例如 FashionMNIST),这些数据集继承自 torch.utils.data.Dataset 并实现特定数据的功能。它们可用于对模型进行原型设计和基准...
PyTorch 2.12 Tensor API 张量

PyTorch 2.12 Tensor API 张量

技术文档 16℃ 0
张量张量是一种专用数据结构,与数组和矩阵非常相似。在PyTorch中,我们使用张量来编码模型的输入、输出以及模型的参数。张量与NumPy的ndarray类似,区别在于张量可以在GPU或其他硬件加速器上运行。事实上,张量和NumPy数组通常可以共享底层内存,无需复制数据。张量同样针对自动微分进行了优化。如果你熟悉ndarray,就能轻松上手Tensor API。如果不熟悉,也可以继续学习!import torch import numpy as np初始化张量张量可以通过多种方式初始化。请看以下示例:直接从数据创建可以直接从数据创建张量,数据类型会自动推断。data = [...
PyTorch 2.12 快速入门

PyTorch 2.12 快速入门

技术文档 20℃ 0
数据处理PyTorch提供了两个用于数据处理的基础组件:torch.utils.data.DataLoader和torch.utils.data.Dataset。Dataset用于存储样本及其对应的标签,DataLoader则对Dataset进行迭代封装。import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets from torchvision.transform...