以下のプログラムを実行した際に次のようなエラーが出た。
実行文
seqlen = torch.tensor(10)
mask = [[1] * seqlen]
エラー文
TypeError:mul():argument 'other' (position 1) must be Tensor,not list
原因
Pytorchのバージョン由来のエラー
torch>0.3.1からtorch.tensorとリストの演算が不可能になっているらしい
解決法
- pytorchのバージョンを
torch<=0.3.1
に下げる - 次のようにプログラムを修正する
変更前
mask = [[1] * seqlen]
変更後
mask = [[1] * int(seqlen)]