Pytorch中如何使用view、permute、squeeze和unsqueeze函数进行数据形状转换?
- 内容介绍
- 文章标签
- 相关推荐
本文共计311个文字,预计阅读时间需要2分钟。
在PyTorch中,`view`函数的作用是重构张量的维度,相当于在NumPy中的`resize`功能,但用法可能略有不同。
`view`函数有两种用法:
1.`torch.view(a, b, ...)`: 这种方式可以显式地指定输出张量的维度。
2.`torch.view(-1)`: 这种方式可以自动调整维度,使得张量的总元素数保持不变。
例如:
python假设有一个形状为(2, 3)的张量tensor=torch.tensor([[1, 2, 3], [4, 5, 6]])使用第一种方法,将其重构为形状为(6,)的一维张量reshaped_tensor=tensor.view(-1)
输出结果print(reshaped_tensor)
1.view
在pytorch中view函数的作用为重构张量的维度,相当于numpy中resize()的功能,但是用法可能不太一样。
view有二种用法:
- torch.view(参数a,参数b,。。。)
- torch.view(-1)或torch.view(参数a,-1)
如下例所示
总结一下:view的二种方法,一种就是当成resize一样转换数据shape,一种是如果是torch.view(参数a,-1),则表示在参数b未知,参数a已知的情况下自动补齐列向量长度,在这个例子中a=3,x总共由9个元素,则b=9/3=3。以此类推更多维度的比如说
本文共计311个文字,预计阅读时间需要2分钟。
在PyTorch中,`view`函数的作用是重构张量的维度,相当于在NumPy中的`resize`功能,但用法可能略有不同。
`view`函数有两种用法:
1.`torch.view(a, b, ...)`: 这种方式可以显式地指定输出张量的维度。
2.`torch.view(-1)`: 这种方式可以自动调整维度,使得张量的总元素数保持不变。
例如:
python假设有一个形状为(2, 3)的张量tensor=torch.tensor([[1, 2, 3], [4, 5, 6]])使用第一种方法,将其重构为形状为(6,)的一维张量reshaped_tensor=tensor.view(-1)
输出结果print(reshaped_tensor)
1.view
在pytorch中view函数的作用为重构张量的维度,相当于numpy中resize()的功能,但是用法可能不太一样。
view有二种用法:
- torch.view(参数a,参数b,。。。)
- torch.view(-1)或torch.view(参数a,-1)
如下例所示
总结一下:view的二种方法,一种就是当成resize一样转换数据shape,一种是如果是torch.view(参数a,-1),则表示在参数b未知,参数a已知的情况下自动补齐列向量长度,在这个例子中a=3,x总共由9个元素,则b=9/3=3。以此类推更多维度的比如说

