PyTorch中使用 Noneunsqueeze()squeeze() 改变 tensor 的维度

Posted 魏晓蕾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyTorch中使用 Noneunsqueeze()squeeze() 改变 tensor 的维度相关的知识,希望对你有一定的参考价值。

1、使用 None 增加 tensor 的维度

在维度中使用 None 可以在所在维度中增加一维。

2、使用 unsqueeze() 增加 tensor 的维度

torch.unsqueeze(input, dim) → Tensor
torch.Tensor.unsqueeze(dim) → Tensor

  • 参数:
  • input:input tensor.
  • dim:在 dim 所在的索引位置插入一个新的维度,索引范围在 [-input.dim() - 1, input.dim() + 1) 之间。

3、使用 squeeze() 压缩 tensor 的维度

torch.squeeze(input, dim=None) → Tensor
torch.Tensor.squeeze(dim=None) → Tensor

  • 参数:
  • input:input tensor.
  • dim:要压缩的维度索引,如果 dim 为 None,则压缩 input tensor 中所有维度为 1 的维度,如果 dim 指定,则当 dim 索引所在的维度为1时,只压缩该维度,当 dim 索引所在的维度不为1时,不做压缩。

以上是关于PyTorch中使用 Noneunsqueeze()squeeze() 改变 tensor 的维度的主要内容,如果未能解决你的问题,请参考以下文章

pytorch中的数据加载(dataset基类,以及pytorch自带数据集)

Pytorch数据加载

如何在 pytorch 和 tensorflow 中使用张量核心?

小白学习PyTorch教程五在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据

在 CrossEntropyLoss 和 BCELoss (PyTorch) 中使用权重

如何在代码中使用 PyTorch PackedSequence?