PyTorch max 文档如何/在哪里显示您可以传入 2 个张量进行比较?

问题描述 投票:0回答:1

我正在学习

pytorch
和深度学习。
torch.max
的文档没有意义,因为看起来我们可以比较 2 个张量,但我看不到文档中的哪里可以确定这一点。

我一开始有这段代码,我想根据最大值检查 ReLU 值。我以为

0
可以广播和
h1.shape=torch.Size([10000, 128])

h1 = torch.max(h1, 0)
y = h1 @ W2 + b2

但是,我收到了这个错误:

TypeError: unsupported operand type(s) for @: 'torch.return_types.max' and 'Tensor'

当我更改

max
方程以使用张量而不是 0 时,我必须解决这个问题。

h1 = torch.max(h1, torch.tensor(0))
y = h1 @ W2 + b2

1。为什么这可以修复错误?

当我再次检查文档时,意识到没有任何内容提到像元组或多个张量列表这样的集合,甚至没有提到用于可迭代解包的

*input

以下是 2 个版本:

第一个

torch.max
版本:

torch.max(input) → Tensor 返回中所有元素的最大值 输入张量。

警告

与 max(dim=0) 不同,该函数产生确定性(子)梯度

第二版

torch.max

torch.max(input, dim, keepdim=False, *, out=None) 返回一个命名元组 (值,索引)其中值是每行的最大值 给定维度dim 中的输入张量。指数就是指数 找到的每个最大值的位置 (argmax)。

如果 keepdim 为 True,则输出张量与输入大小相同 除了在维度 dim 中,它们的大小为 1。否则,dim 被挤压(参见 torch.squeeze()),产生输出张量 维度比输入少 1。

2。根据本文档,

tensor(0)
是什么?

python pytorch max
1个回答
0
投票

检查您链接的文档页面底部,其中显示:

torch.max(input, other, *, out=None) → Tensor

See torch.maximum().

当第二个参数是张量时,

torch.max
计算torch.maximum

© www.soinside.com 2019 - 2024. All rights reserved.