Pytorch 中的 view() 和 Numpy 中的 reshape() 是否相似?

数据挖掘 深度学习 麻木的 火炬 重塑
2021-09-23 05:00:56

view()火炬和reshape()Numpy 相似吗

view()应用于火炬张量以改变它们的形状,并且reshape()是一个改变ndarrays形状的numpy函数。

1个回答

是的,对于大多数意图和目的,他们可以做同样的工作。这个链接,一个例子:

>>> import torch
>>> t = torch.ones((2, 3, 4))
>>> t.size()
torch.Size([2, 3, 4])
>>> t.view(-1, 12).size()
torch.Size([2, 12])

如果您关心内存分配,这里是StackOverflow上的另一个答案,其中包含更多信息。PyTorch 的view函数实际上做了顾名思义——返回数据视图据我所知,数据在内存中没有改变。

numpy中,该reshape函数不保证是否制作了数据副本。这将取决于阵列的原始形状和目标形状。在这里查看更多信息。