Last Updated on 2021-07-05 by Clay
今天我在使用 PyTorch 搭建模型的時候,遇到了像以下這樣的報錯:
ValueError: expected sequence of length 300 at dim 1 (got 3)
通常這個錯誤是在我們將我們的資料轉成 Torch Tensor 的時候,若是這種情況,那麼則代表我們大部分轉換的程式為 300 維的,但是卻有一個維度是只有 3 維,導致我們的矩陣 (資料?) 無法轉成 Torch Tensor。
當然,你的可能是任意的維度,不過說到底都是一樣的:維度出現了誤差。
解決方法只有一個:印出你資料的維度,找到不一樣的元素,並確認為何會發生這樣的問題。
希望我以後不會再回來確認自己的這篇文章、或者是在我犯了同樣的錯誤後能馬上想起該怎麼解決。
References
- https://discuss.pytorch.org/t/converting-a-list-to-tensor/44914
- https://discuss.pytorch.org/t/valueerror-expected-sequence-of-length-x-at-dim-1-got-y/69546
- https://github.com/ctr4si/A-Hierarchical-Latent-Structure-for-Variational-Conversation-Modeling/issues/2