前言:
在深度学习中,我们经常需要将一个多维向量展平成一个一维向量,故此时我们可以通过使用reshape(-1)来做到这一点。
原理讲解:
在PyTorch中,reshape(-1)
的作用是将张量重塑为一个一维张量,即将张量展平成一个向量,其中包含了所有原始张量中的元素,但不改变元素的顺序。
具体来说,当调用 reshape(-1)
时,PyTorch会根据原始张量的维度和元素数量自动推断出新的形状,并将原始张量重塑为这个形状。由于 -1
的含义是由PyTorch自动推断,所以它会根据原始张量的大小和剩余的维度来确定重塑后的维度。
代码:
例如,假设有一个形状为 (2, 3)
的二维张量 x,
我们调用 reshape(-1)
来将其展平为一维张量,并将展平后的结果打印出来。
import torch
x = torch.tensor([[1, 2, 3],
[4, 5, 6]])
x_flat = x.reshape(-1)
print(x_flat)
运行结果:
>>>tensor([1, 2, 3, 4, 5, 6])
如有问题,欢迎评论区或私信讨论