RuntimeError: expected scalar type Long but found Int 解决方法

这几天跑代码总是遇到这样的报错

RuntimeError: expected scalar type Long but found Int 解决方法_第1张图片

然后回溯里找到最终发现问题的地方是

RuntimeError: expected scalar type Long but found Int 解决方法_第2张图片

其实,在python 3.X之后就没有Long型的数据类型了,都被整合到Int型呢,这里报错里所谓的Long型和Int型其实分别对应的是Int32与Int64两种类型的格式,我在最终报错的位置分别打印了其中参数的数据类型。

RuntimeError: expected scalar type Long but found Int 解决方法_第3张图片

发现改了参数‘c'的类型还是会报相同的错

这时,我打印了batch的类型

RuntimeError: expected scalar type Long but found Int 解决方法_第4张图片

batch是一个多维数组,其中batch中的data 的格式是Int32于是我将里面的类型用astype方法改成int64

RuntimeError: expected scalar type Long but found Int 解决方法_第5张图片

RuntimeError: expected scalar type Long but found Int 解决方法_第6张图片

最后也是成功的解决这样的问题跑起来了。

你可能感兴趣的:(python)