代码之家  ›  专栏  ›  技术社区  ›  gogasca

Keras批量规范化层还是规范化?

  •  0
  • gogasca  · 技术社区  · 5 年前

    我使用人口普查数据集,并使用以下公式进行标准化:

    dtypes = list(zip(X.dtypes.index, map(str, X.dtypes)))
    for k,dtype in dtypes:
        if dtype == "float32":
            X[k] -= X[k].mean()
            X[k] /= X[k].std()
    

    this 例子。

    我发现:

    tf.keras.layers.BatchNormalization()
    

    我的模型:

      model = tf.keras.Sequential()
      model.add(tf.keras.layers.Dense(100, activation=tf.nn.relu, input_shape=(input_dim,)))
      model.add(tf.keras.layers.BatchNormalization())
      model.add(tf.keras.layers.Dense(70, activation=tf.nn.relu))
      model.add(tf.keras.layers.Dense(50, activation=tf.nn.relu))
      model.add(tf.keras.layers.Dense(25, activation=tf.nn.relu))
      # The single output node and Sigmoid activation makes this a Logistic Regression.
      model.add(tf.keras.layers.Dense(1, activation=tf.nn.sigmoid))
    

    问题:

    1)我可以通过添加这个额外的层来替换现有的标准化吗?

    2) 为了推断,额外的一层也可以吗?

    0 回复  |  直到 5 年前