- 1. 概要
- 2. 増減
1. 概要
次元を増やしたり、減らしたりするメソッドがあります。
本ページは、下記のサイトを参考にさせていただきました。
「Squeeze / unsqueezeの使い方:要素数1の次元を消したり作ったりする」
2. 増減
「squeeze」(減)「unsqueeze」(増)で、次元数の増減ができます。
tensor.squeeze(0)
tensor.unsqueeze(0)
と引数に 0 を設定することで、1次元分の増減ができます。
0 以外にも引数の個数を変えたり、いろいろあるようですが、とりあえず増減だけは、理解できました。
import torch
x = torch.randn(4, 3)
print(x)
x = x.unsqueeze(0)
print(x)
x = x.squeeze(0)
print(x)
てなソースを書いて、実行すると、下記の結果が得られます。
tensor([[-0.3372, 1.4657, 0.3851],
[-0.5026, 1.3584, 0.5374],
[-1.4869, 0.1844, -1.0662],
[ 0.4061, -1.1613, -0.3926]])
tensor([[[-0.3372, 1.4657, 0.3851],
[-0.5026, 1.3584, 0.5374],
[-1.4869, 0.1844, -1.0662],
[ 0.4061, -1.1613, -0.3926]]])
tensor([[-0.3372, 1.4657, 0.3851],
[-0.5026, 1.3584, 0.5374],
[-1.4869, 0.1844, -1.0662],
[ 0.4061, -1.1613, -0.3926]])
中身は、乱数で生成していますので、保証しませんが・・・。
|