我想知道是否可以将输入要素的标准化直接包括在keras模型中,从而用models.load_model
加载模型时将其自动包括在内?这样可以避免在其他地方应用模型时,无需从训练集进行归一化转换。
我知道一种可能的解决方案是将Keras模型包含在scikit学习管道中(例如,参见How to insert Keras model into scikit-learn pipeline?)。但是,我不希望建立管道,理想情况下只使用models.load_model
。是否有可能不使用Keras或Tensorflow以外的任何解决方案?
另一种可能的解决方案是简单地使用BatchNormalization
层作为网络中的第一层。这将归一化构建到网络中,但是在训练期间,初始归一化取决于(小)批次的统计信息,而不是整个训练集,因此在训练批次之间会不必要地发生变化。
(早前曾问过类似的问题(How to include normalization of features in Keras regression model?,但问题和答案都不太清楚。)