深度學習中Flatten層的作用

2022-02-25 12:36:13 字數 1095 閱讀 3068

flatten層用來將輸入「壓平」,即把多維的輸入一維化,常用在從卷積層到全連線層的過渡。flatten不影響batch的大小。

#

now:model.output_shape==(none,64,32,32)

model.add(flatten())

#now: model.output_shape==(none,65536)

可以加上tensorflow:from tensorflow.keras import layers, sequential**或參考:深度學習中flatten層的作用

flatten層的實現在keras.layers.core.flatten()類中。

作用:

flatten層用來將輸入「壓平」,即把多維的輸入一維化,常用在從卷積層到全連線層的過渡。flatten不影響batch的大小。

例子:

from keras.models import sequential

from keras.layers.core import flatten

from keras.layers.convolutional import convolution2d

from keras.utils.vis_utils import plot_model

model = sequential()

model.add(convolution2d(64,3,3,border_mode="same",input_shape=(3,32,32)))

# now:model.output_shape==(none,64,32,32)

model.add(flatten())

# now: model.output_shape==(none,65536)

plot_model(model, to_file='flatten.png', show_shapes=true)

為了更好的理解flatten層作用,我把這個神經網路進行視覺化如下圖:

深度學習中Concat層和Flatten層作用

一些其它層的作用參考 keras各種layer的作用及用法 簡要總結 concat層的功能 concat層實現輸入資料的拼接。concat層是乙個實用程式層,它將多個輸入blob連線到乙個輸出blob 按照給定的axis,注意除了規定的axis以外,被concat的輸入bolb的其他維度的size必...

全連線層的作用 1 1的卷積在深度學習中的作用

首先我們舉乙個簡單的例子。我們假設乙個1 1的卷積核,裡面的數字為2。輸入一張6 6 1的,然後對它做卷積,其過濾器大小為 卷積核 1 1 1。結果顯而易見,即相當於把這個乘以數字2。用1 1的過濾器進行卷積似乎用處不大。只是對輸入矩陣乘以某個數字。但這僅僅是對於6 6 1的通道來說,1 1卷積效果...

深度學習中Embedding層

keras.layers.embeddings.embedding input dim,output dim,embeddings initializer uniform embeddings regularizer none,activity regularizer none,embeddings...