问题
在运行如下代码时
train_set_x /= 255 # uint8
test_set_x /= 255
报错:
numpy.core._exceptions._UFuncOutputCastingError: Cannot cast ufunc 'divide' output from dtype('float64') to dtype('uint8') with casting rule 'same_kind'
两个变量都是uint8型,在命令行实验过,正常的uint8类型除以一个int型,无法整除时不会报错,生成类型为float64类型的结果。
解决
将/=
修改成
train_set_x = train_set_x / 255
即可。或者也可以用numpy提供的函数。
参考:
https://stackoverflow.com/questions/38673531/numpy-cannot-cast-ufunc-multiply-output-from-dtype