Keras - Flatten 扁平化层

Flatten 用于扁平化输入。例如,如果将扁平化应用于输入形状为 (batch_size, 2,2) 的层,则该层的输出形状将为 (batch_size, 4)

Flatten 有一个参数,如下所示

keras.layers.Flatten(data_format = None)

data_format 是一个可选参数,用于在从一种数据格式切换到另一种数据格式时保留权重顺序。它接受 channels_lastchannels_first 作为值。 channels_last 是默认值,它将输入形状标识为 (batch_size, ..., channels),而 channels_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)。