RuntimeError: invalid argument 5: k not in range for dimension at...

問題根源

這種情況往往出現在使用pytorch訓練模型過程中,調用topk方法的時候。問題根源是,傳入的參數超過了該dimension的限制。
例如tmp的shape是[4,128,1],而調用了tmp.topk(129,dim=1),顯然129>128是不合理的。

另一種可能是,dataloader在load數據的時候,最後一個batch只剩了一個1個數據,而由於某些squeeze的操作導致傳回的結果d的shape不是[1,128,1],而是[1,128]或者[128]。這種情況下,出現了和上面相同的錯誤。

總之,這種錯誤肯定是由於傳入的參數大於給定的dimension的總數據量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章