私は以下のコードを持っています。なぜtensor.view()がpytorchで動作していないのですか?
embedded = self.embedding(input).view(1, 1, -1)
embedded = self.drop(embedded)
print(embedded[0].size(), hidden[0].size())
concatenated_output = torch.cat((embedded[0], hidden[0]), 1)
最後の行で次のようなエラーが表示されます。
RuntimeError: inconsistent tensor sizes at /data/users/soumith/miniconda2/conda-bld/pytorch-0.1.9_1487344852722/work/torch/lib/THC/generic/THCTensorMath.cu:141
テンソルの形状をライン番号で印刷しているときに注意してください。 3、私は次の出力を取得しています。
torch.size([1, 300]) torch.size([1, 1, 300])
なぜ私はview(1, 1, -1)
として表示方法を使用しているにもかかわらずembedded
テンソルのため[1, 300]
形状を取得していますか?
助けていただけたら幸いです!
'self.dropとは何ですか?' 'self.drop'関数を呼び出す前に埋め込みサイズを印刷できますか? – Kashyap
の埋め込みサイズは同じです。 self.dropはドロップアウト層です。 –
その場合、 'print(embedded.size())'は '[1、1、300]'を返します。 'print(embedeed [0] .size)'を印刷しているので、これは '[1、300]'になります。これらの形状を仮定すると、torch.catの操作を実行できなくなります。連結したい次元に沿って同じサイズを持つ必要があります – Kashyap