我有4D numpy array
。我正在尝试将其值标准化,因为我需要从中减去一些值,但操作是添加值。
请帮忙
print(X_train.shape)
print(X_train[0][0][0])
print(X_train[0][0][0]-128)
它的输出是:
(34799, 32, 32, 3)
[28 25 24]
[156 153 152]
不应该吗?
[-100,-103,-102]
请让我知道我做错了什么。
我是numpy
的新手。
答案 0 :(得分:1)
这是一个四维数组的事实不是重点。
我猜测您的问题出在那个numpy数组的data type上。例如,如果它是numpy.uint8
(无符号字节,即只允许[0,255]中的值),那么从28减去128会给你156 ......:)
尝试:print (X_train.dtype)
查看与您的numpy数组关联的数据类型。
如果是这种情况,那么考虑将其转换为其他dtype,例如X_train = X_train.astype(numpy.int16)
,或简称为numpy.int8
,具体取决于您对数据的期望。