我试图通过均值和标准差为0.5来标准化我的每张输入图像。
每张图像以0到1之间的浮点数表示,包含三个通道(RGB)。
我了解到在PyTorch中与我想要做的等效操作是:
torchvision.transforms.Normalize([0.5, 0.5, 0.5], [0.5,0.5,0.5])
这在Tensorflow中如何实现?
回答:
我不了解使用Tensorflow方法的具体细节,但你可以在Python中使用下面的代码来实现:
def fit_data(x, mean, sd): # x是输入数组,mean是所需的均值,sd是所需的标准差 import numpy as np import math shape=x.shape x= x.flatten () y=np.zeros((x.shape[0])) total=0 for i in x: total += i x_mean=total/x.shape[0] s_sq=0 for i in x: s_sq +=(i-x_mean)**2 s=math.sqrt(s_sq/x.shape[0]) for i,v in enumerate(x): y[i]=mean + (v-x_mean)*sd/s y=np.reshape(y, shape) return y