IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)

再跑深度学习时运行爆出了这个问题
当时出错的代码是这个:

torch.sum(a,(1,2))

抛出这么个错误
IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)

实在想不明白为什么,就去做了几个小实验
IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)_第1张图片
这个是torch.sum() 的官方测试案例,没问题
接着又试了一个
IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)_第2张图片
呐,报出了一个一摸一样的问题,这时候问题就来了,我再试了一个三维的
IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)_第3张图片
一切正常,所以问题出在维度上,因为少了一个维度,输入的是二维的,而人家需要的是三维的

解决方法

解决方法很简单:
直接给输入增加一个维度

img = img.reshape(height, weight, 1)
#(从二维增加到三维)

到此问题解决!

你可能感兴趣的:(日常错误,深度学习)