Ce ar trebui să fie de Ieșire forma de keras model de straturi

0

Problema

eu sunt putin confuz cu privire la producția forma de keras strat. Am creat un eșantion keras model și, de asemenea, afișat rezumatul acestuia.

numberOfLSTMcells=1
n_timesteps_in=129
n_features=61
inp =Input(shape=(n_timesteps_in, n_features))
lstm= LSTM(numberOfLSTMcells,return_sequences=True, return_state=False) (inp)
fc=Dense(64,activation='relu',name='hidden_layer')(lstm)
out=Dense(1,activation='sigmoid',name='last_layer')(fc)
model = Model(inputs=inp, outputs=out)

Rezumat de model

Model: "model_1"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
input_3 (InputLayer)         [(None, 129, 61)]         0         
_________________________________________________________________
lstm_2 (LSTM)                (None, 129, 1)            252       
_________________________________________________________________
hidden_layer (Dense)         (None, 129, 64)           128       
_________________________________________________________________
last_layer (Dense)           (None, 129, 1)            65        
=================================================================
Total params: 445
Trainable params: 445
Non-trainable params: 0

Ceea ce cred că forma de ultimul strat ar trebui să fie (None,64,1). Pentru hidden_layers are 64 de neuroni care merge ca intrare pentru last_layer

keras tensorflow
2021-11-23 20:02:29
1

Cel mai bun răspuns

1

Când setați parametrul return_sequences pentru a True în LSTM strat, vă sunt obtinerea o secvență cu același număr de pași de timp ca intrare și o ieșire spațiu de 1 pentru fiecare timestep, prin urmare forma (None, 129, 1). După aceea, se aplică un Dense stratul de la acest tensor, dar acest strat se aplică întotdeauna pentru ultima dimensiune de un tensor, care în cazul tău este 1 și nu 129. Prin urmare, veți obține de ieșire (None, 129, 64). Apoi, utilizați un final stratul de ieșire, care este, de asemenea, aplicate la ultima dimensiune de tensor care rezultă în producția cu forma (None, 129, 1). La Tensorflow docs , de asemenea, explica acest comportament:

Dacă intrarea la strat are un rang mai mare decât 2, atunci Dens calculează produsul scalar între intrări și kernel-ul de-a lungul ultima axă de intrări și axa 0 a kernel-ului (folosind tf.tensordot).

Puteți seta return_sequences pentru a False dacă doriți să lucrați cu un 2D de ieșire (batch_size, features) în loc de 3D (batch_size, time_steps, features), sau puteți folosi Flatten strat.

2021-11-24 08:30:26

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................