Существуют разные способы нормализации изображения. Это объясняется здесь .
Для вашего случая, если вы хотите выполнить нормализацию, вычитая среднее значение для вашего массива. Вы можете использовать среднее значение трехмерного массива вместе с двумя осями, используя np.mean
. Это даст вам масштабирующее значение, которое в дальнейшем вычитается из исходных значений.
train_data = np.random.rand(28,28,3)
mean = np.mean(train_data)
train_data -= mean
И если вы хотите вычесть среднее значение для каждого канала, вы можете использовать параметр axis
в функции mean
.
mean = np.mean(train_data,axis=(0, 1))
Это даст среднее значение для каждого канала и вычтет среднее значение, как указано выше train_data-=mean
.
Далее вы можете нормализовать данные путем вычитания среднего значения и деления на его стандартное отклонение. Это много используется в приложениях машинного обучения.