因此,当我执行作业时,由于类型错误,此处的代码根本不起作用。我检查了一切,似乎还好。为什么会这样? enter image description here
答案 0 :(得分:0)
当您尝试获取一个numpy的随机数数组(np.random.randint()
时,似乎会出现错误。看来您正在传递浮点数作为n
中的参数get_batch2()
。您可以使用.astype(np.int64)
浮动该浮点数并将其转换为整数。
简单地说,numpy.float64
对象不能在代码中用作整数;它们是不同的数据类型。您必须对浮点数进行某种操作才能将其转换为整数。整数不能保存浮点数可以存储的所有数据(整数不能存储数字的小数部分),因此您必须执行一些操作,例如将浮点数四舍五入到最接近的整数等。.astype(np.int64)
方法将返回浮点数或浮点数数组等,类型为numpy.int64。
似乎numpy 1.12.0及更高版本会引发此异常。如果出于任何原因您不想处理转换为整数,则解决方案之一是安装numpy,版本为1.11.0或更低版本:https://stackoverflow.com/a/44669924/12076702