1. ホーム
  2. python

[解決済み】Pytorchで "unsqueeze "は何をするのですか?

2022-02-23 09:46:57

質問

の例では、どのように理解すればよいのでしょうか? PyTorchのドキュメント は説明と一致しています。

指定された位置に挿入されたサイズ1の次元を持つ新しいテンソルを返す。[...]

>>> x = torch.tensor([1, 2, 3, 4])
>>> torch.unsqueeze(x, 0)
tensor([[ 1,  2,  3,  4]])
>>> torch.unsqueeze(x, 1)
tensor([[ 1],
        [ 2],
        [ 3],
        [ 4]])

解決方法は?

配列の前後の形状を見ると、以前は (4,) であり、後では (1, 4) (第2パラメータが 0 ) と (4, 1) (の場合(第2パラメータが 1 ). そのため 1 は、配列の形状を軸に挿入された 0 または 1 2番目のパラメータの値によって異なります。

とは逆で np.squeeze() (MATLABから借用した命名法)は、サイズの軸を削除します。 1 (シングルトン)です。