文档
备案
控制台
登录
立即注册
首页
AI 大模型体验中心
动手实验室
Agent 评测集
AI 案例广场
火山杯大赛
学习中心
社区
去发布
首页
AI 大模型体验中心
动手实验室
Agent 评测集
AI 案例广场
学习中心
社区
PyTorch On Java深度学习
文章
专栏
问答
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第五章 10 :数据集【AI Infr
AI
AI解决方案
既然你已经了解如何使用 构建模型以及如何用 Autograd 计算梯度,下一步就是有效地为这些模型提供数据。处理大型数据集、进行必要的预处理以及在不耗尽内存的情况下分批加载数据,是深度学习工作中常见的问题。本章将讲解 PyTorch 管理数据流程的方案:即 模块。你将学习如何:使用 类来组织数据。使用预设数据集,例如 中提供的。使用 进行数据转换和增强。使用 类高效地分批加载数据、打乱
12
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第四章 09 :神经网络进阶【AI I
AI
AI解决方案
虽然通过子类化定义自定义网络架构提供了最大程度的灵活性,但许多常见模型都涉及层的一个直观序列,其中一层的输出直接作为下一层的输入。对于这些线性堆叠,PyTorch提供了一个方便的容器:。作为一个包装器,接收一个有序的模块序列(如层和激活函数),并在输入数据通过时,以该特定顺序执行它们。可以将其视为为您的数据转换构建一个流程。当您不需要复杂的数据流逻辑、跳跃连接或多输入/多输出路径时,这种方法简化了
5
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第四章 08 :神经网络【AI Inf
AI
AI解决方案
在熟悉了PyTorch张量和用于梯度计算的Autograd系统后,我们现在开始构建神经网络本身。本章主要介绍包,它是PyTorch用于高效构建网络结构的专用库。你将学习如何使用核心类作为模型的设计蓝图。我们将使用PyTorch提供的常用构建块来组装网络,包括线性层()、卷积层()和循环层()。我们还将整合像激活函数(例如ReLU、Sigmoid)这样的重要组成部分,以引入非线性处理能力。此外,你将
15
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第三章 07 :张量梯度【AI Inf
AI
AI解决方案
收藏在计算标量张量(通常是损失)相对于计算图中其他张量的梯度时,PyTorch 使用 方法。此方法触发梯度计算,但它不会直接返回梯度。相反,PyTorch 会将计算出的梯度存储在张量自身的一个特殊属性中:即 属性。这个属性主要为计算图中的叶张量填充,即那些你通过设置 明确要求进行梯度跟踪的张量。请记住,叶张量通常是你直接创建的,例如模型参数或输入,而不是通过运算生成的中间张量。 属性包含一个
13
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第三章 06 :张量自动微分【AI
AI
AI解决方案
有效地训练神经网络需要调整模型参数以最小化损失函数,这通常使用梯度下降或其变体。这个过程的主要部分是计算损失函数相对于每个参数的梯度,数学上表示为损失 LL 和参数 ww 的 ∂L∂w∂w∂L。对于复杂模型,手动推导和实现这些梯度计算是不切实际的。本章介绍 PyTorch 的自动微分引擎 Autograd,它旨在自动计算这些梯度。我们将了解 PyTorch 如何在对张量执行操作时动态构建计算图。你
11
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第二章 05 :张量广播机制【AI
AI
AI解决方案
当对张量执行逐元素操作(如加法、减法或乘法)时,它们的形状通常需要对齐。但是,手动调整或重复张量以匹配形状可能会很繁琐且效率低下,尤其是在处理大型数据集时。PyTorch 通过一种称为**广播(broadcasting)**的机制解决了这个问题。广播提供了一套规则,允许 PyTorch 在执行操作时自动扩展张量维度,前提是它们的形状满足特定的兼容标准。这在许多常见情况下省去了显式维度扩展的需要,使
10
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第二章 04 :张量高级操作【AI
AI
AI解决方案
在前面介绍的基础张量操作之上,本章将讲解更高级的张量操作方法。对张量结构、数据类型和设备放置进行精细控制,对于有效准备数据和实现复杂的深度学习模型来说非常重要。在本章中,你将学会:使用索引和切片方法,精确选择和修改张量元素。使用 、 和 重构张量,而不改变其数据。使用 、、 和 组合多个张量或将单个张量分割成不同部分。使用 PyTorch 的广播机制,对形状兼容但不同的张量之间执行操作。处理不
17
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第一章 03 :张量基本操作【Ai I
AI
AI解决方案
收藏对 PyTorch 张量执行基本操作是一项主要技能。张量支持多种数学和逻辑运算。这些运算许多都与 NumPy 中的对应功能类似,都是按元素进行的。这些运算是神经网络计算的根本。最常见的运算是将标准算术函数独立应用于参与运算的张量的每个元素。这些运算通常要求张量具有兼容的形状(关于形状兼容性,我们将在下一章讨论广播时详细说明)。您可以使用标准 Python 算术运算符或等效的 函数:加法:
8
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第一章 02 :张量操作【AI Inf
AI
AI解决方案
收藏**张量(Tensor)**是 PyTorch 中将要使用的主要数据结构。如果你使用过 NumPy,你会发现 PyTorch 张量非常熟悉。从本质上讲,张量是多维数组,与 NumPy 的 非常相似。可以把张量看作是常见数学对象的推广:一个标量(单个数字,例如 7)是 0 维张量(或 0 阶张量)。一个向量(一维数字列表或数组,例如 )是 1 维张量(或 1 阶张量)。一个矩阵(二维数字网格,
11
0
0
0
PyTorch On Java深度学习
【Java深度学习】PyTorch On Java 系列课程 第一章 01 :入门与环境搭建 【AI
AI
AI解决方案
本章将为PyTorch的使用做好准备。我们首先会配置必要的软件和环境。接着,主要内容将转向PyTorch的核心数据结构:张量。您将学习如何:使用常用包管理器安装PyTorch。配置适合PyTorch项目的开发环境。理解张量是什么以及它们在PyTorch中的作用。根据现有数据或指定维度创建张量。对张量执行基本的数学运算和操作。认识PyTorch张量与NumPy数组之间的联系,包括转换方法。学完本章,
22
0
0
0