我有一个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
。
我有一个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
。
它是一个 4 维数组的事实不是这里的重点。
我猜你的问题出在那个 numpy 数组的数据类型上。例如,如果它是numpy.uint8
(无符号字节,即只允许 [0,255] 中的值),那么从 28 中减去 128 将得到 156... :)
尝试:print (X_train.dtype)
查看与您的 numpy 数组关联的数据类型。
如果是这种情况,请考虑将其转换为其他数据类型,例如X_train = X_train.astype(numpy.int16)
,或简单地转换为numpy.int8
,具体取决于您对数据的期望。