Keras中输入数据的标准化

问题描述 投票:0回答:1

DL中的一个常见任务是将输入样本标准化为零均值和单位方差。可以使用以下代码“手动”执行规范化:

mean = np.mean(X, axis = 0)
std = np.std(X, axis = 0)
X = [(x - mean)/std for x in X]

然而,除了训练的Keras模型之外,还必须保持平均值和标准值,以使测试数据标准化。由于mean和std是可学习的参数,也许Keras可以学习它们吗?像这样的东西:

m = Sequential()
m.add(SomeKerasLayzerForNormalizing(...))
m.add(Conv2D(20, (5, 5), input_shape = (21, 100, 3), padding = 'valid'))
... rest of network
m.add(Dense(1, activation = 'sigmoid'))

我希望你明白我的成就。

keras deep-learning normalization
1个回答
0
投票

也许您可以使用sklearn.preprocessing.StandardScaler来扩展数据,这个对象允许您将缩放参数保存在对象中,然后您可以将Mixin类型输入用于模型,让我们说:

  1. Your_model
  2. [param1_scaler,param2_scaler]

这是一个链接https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/

https://keras.io/getting-started/functional-api-guide/

© www.soinside.com 2019 - 2024. All rights reserved.