-
三次元 $\times $三次元の行列
- 1つ目をバッチサイズとして, バッチ単位で行列積
- torch.bmm
-
4次元 $\times $3次元の行列
- (j×1×n×m) と (kxm×p)の積は(j,k,n,p)となる
-
バッチなど、行列以外の次元は、ブロードキャストされる。そのため、行列以外の次元はブロードキャストできるものでなければならない。例えば、tensor1が(j×1×n×m)のテンソルで、tensor2が(k×m×p)のテンソルである場合、返り値は、(j×k×n×p)のテンソルになる。
-
ブロードキャストについて
- つまり,
(B,i,x,y)
と,(B,i,y,z)
の行列積は, Bとiを固定した行列X_(B,i)
とY_(B,i)
の行列積と考えれば良い - 要は, 最後の2つだけが普通の行列積で, 残りはすべてforで回っていると考えればよく,
- 一言でいえば, forの内側での行列積と考えれば良い
- つまり,
- 一般に画像のサイズは
(B,C,H,W)
… ?
https://qiita.com/tand826/items/9e1b6a4de785097fe6a5#5つ目-3次元以上の場合