Сегодня я решил начать свои статьи о машинном обучении.

В ближайшие недели я напишу серию блогов, чтобы объяснить слои в Keras.

Пока я пытался победить ML, я продолжал сомневаться в себе глупо. Потому что я всегда чувствую, что учиться слишком сложно!

Но я не сдавался. Я продолжал думать, как использовать его для реализации интересующих меня проектных идей.

Итак, чтобы помочь себе, возможно, когда-нибудь в будущем, как читатель, у вас есть возможность прочитать этот блог, я надеюсь, что он будет вам полезен.

Самое простое объяснение: выравнивает ввод. Не влияет на размер пакета (https://www.tensorflow.org/api_docs/python/tf/keras/layers/Flatten)

Итак, чтобы сэкономить время, давайте посмотрим, что именно делает Flatten.

>>> model = tf.keras.Sequential()
>>> model.add(tf.keras.layers.Conv2D(64, 3, 3, input_shape=(3, 32, 32)))
>>> model.output_shape
(None, 1, 10, 64)
>>> model.add(Flatten())
>>> model.output_shape
(None, 640)

После добавления слоя Flatten значение output_shape изменилось с 3 на 1 измерение. Но размер не изменился.(640 = 1*10*64)

Вот и все!