gpt4 book ai didi

python - .view() 在 PyTorch 中做了什么?

转载 作者:IT老高 更新时间:2023-10-28 12:32:29 43 4
gpt4 key购买 nike

.view() 对张量 x 做了什么?负值是什么意思?

x = x.view(-1, 16 * 5 * 5)

最佳答案

view() reshape 张量而不复制内存,类似于numpy的reshape() .

给定一个具有 16 个元素的张量 a:

import torch
a = torch.range(1, 16)

要 reshape 此张量以使其成为 4 x 4 张量,请使用:

a = a.view(4, 4)

现在 a 将是一个 4 x 4 张量。 请注意, reshape 后的元素总数需要保持不变。将张量 a reshape 为 3 x 5 张量是不合适的。

参数-1是什么意思?

如果有任何情况你不知道你想要多少行但确定列数,那么你可以用 -1 来指定。 (请注意,您可以将其扩展到具有更多维度的张量。只有一个轴值可以是 -1)。这是告诉库的一种方式:“给我一个包含这么多列的张量,然后你计算实现这一点所需的适当行数”。

这可以在 this model definition code 中看到.在 forward 函数中的 x = self.pool(F.relu(self.conv2(x))) 行之后,你将得到一个 16 深度的特征图。您必须将其展平以将其提供给全连接层。因此,您告诉 PyTorch 将您获得的张量 reshape 为具有特定列数,并告诉它自己决定行数。

关于python - .view() 在 PyTorch 中做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479902/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com