Keras – Flatten Layers
Flatten 是用来对输入进行扁平化处理的。例如,如果扁平化应用于输入形状为 (batch_size, 2,2) 的层,那么该层的输出形状将是 (batch_size, 4) 。
Flatten 有一个参数,如下所示
keras.layers.Flatten(data_format = None)
data_format 是一个可选的参数,当从一种数据格式切换到另一种数据格式时,它用于保留权重排序。它接受 channel_last 或 channel_first 作为值。 channel_last 是默认的,它识别输入形状为 (batch_size, …, channels) ,而 channel_first 识别输入形状为 (batch_size, channels, ...)。
一个使用 **Flatten ** 层的简单例子如下
>>> from keras.models import Sequential
>>> from keras.layers import Activation, Dense, Flatten
>>>
>>>
>>> model = Sequential()
>>> layer_1 = Dense(16, input_shape=(8,8))
>>> model.add(layer_1)
>>> layer_2 = Flatten()
>>> model.add(layer_2)
>>> layer_2.input_shape (None, 8, 16)
>>> layer_2.output_shape (None, 128)
>>>
其中,第二层的输入形状是 (None,8,16) ,它被压扁为 (None,128)。