RuntimeError: shape ‘[4]‘ is invalid for input of size 6

落日映苍穹つ 2022-12-03 09:58 339阅读 0赞

1.报错

运行pytorch代码,得到报错:RuntimeError: shape '[4]' is invalid for input of size 6,笔者的报错信息是出现在view()方法附近。

2.原因

以简单的一段代码为例,看看报错原因。

  1. import torch as t
  2. a = t.randint(1,5,(3,1,2,1)) # 3*2 = 6,这就是后面为什么说input of size 6的原因
  3. print(a)
  4. a = a.view(4) # view:想将a变成一维的向量(即行向量)
  5. print(a)
  6. ---------------------------------------------------------------------------
  7. RuntimeError Traceback (most recent call last)
  8. <ipython-input-5-6e1293746853> in <module>
  9. 4 a = t.randint(1,5,(3,1,2)) #
  10. 5 print(a)
  11. ----> 6 a = a.view(4)
  12. 7 print(a)
  13. RuntimeError: shape '[4]' is invalid for input of size 6

即tensor变化的数目不对,导致上述错误,在相应代码处进行修改就OK了。

上述代码也可以在我的github之pytorch专题中的文件tensor维度问题.ipynb查看。

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读