如何在 Keras 顺序模型中使用 LayerNormalization 层?
How to use LayerNormalization layer in a Keras sequential Model?
我刚刚接触 Keras 和 Tensor Flow。
我在顺序模型中添加输入归一化层时遇到很多问题。
现在我的模型是 ;
model = tf.keras.models.Sequential()
model.add(keras.layers.Dense(256, input_shape=(13, ), activation='relu'))
model.add(tf.keras.layers.LayerNormalization(axis=-1 , center=True , scale=True))
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(1))
model.summary()
我的疑惑是我是否应该首先执行一个适应功能以及如何在顺序模型中使用它。
感谢大家!!
我也在想办法解决这个问题。根据this example,适应是没有必要的。
model = tf.keras.models.Sequential([
# Reshape into "channels last" setup.
tf.keras.layers.Reshape((28,28,1), input_shape=(28,28)),
tf.keras.layers.Conv2D(filters=10, kernel_size=(3,3),data_format="channels_last"),
# LayerNorm Layer
tf.keras.layers.LayerNormalization(axis=3 , center=True , scale=True),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_test, y_test)
此外,请确保您需要 LayerNormalization。如果我理解正确的话,这会自行规范化每个输入。批量归一化可能更合适。 See this for more info.
我刚刚接触 Keras 和 Tensor Flow。 我在顺序模型中添加输入归一化层时遇到很多问题。 现在我的模型是 ;
model = tf.keras.models.Sequential()
model.add(keras.layers.Dense(256, input_shape=(13, ), activation='relu'))
model.add(tf.keras.layers.LayerNormalization(axis=-1 , center=True , scale=True))
model.add(keras.layers.Dense(128, activation='relu'))
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(64, activation='relu'))
model.add(keras.layers.Dense(1))
model.summary()
我的疑惑是我是否应该首先执行一个适应功能以及如何在顺序模型中使用它。 感谢大家!!
我也在想办法解决这个问题。根据this example,适应是没有必要的。
model = tf.keras.models.Sequential([
# Reshape into "channels last" setup.
tf.keras.layers.Reshape((28,28,1), input_shape=(28,28)),
tf.keras.layers.Conv2D(filters=10, kernel_size=(3,3),data_format="channels_last"),
# LayerNorm Layer
tf.keras.layers.LayerNormalization(axis=3 , center=True , scale=True),
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(x_test, y_test)
此外,请确保您需要 LayerNormalization。如果我理解正确的话,这会自行规范化每个输入。批量归一化可能更合适。 See this for more info.