Aký by mal byť Výstup tvar keras model vrstvy

0

Otázka

som trochu zmätená o tom, výstupný tvar keras vrstvy. Vytvoril som vzorka keras model a zobrazí tiež na jeho zhrnutie.

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)

Zhrnutie modelu

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

Čo si myslím, že tvar posledná vrstva by mala byť (None,64,1). Pretože hidden_layers má 64 neurónov, ktoré ide ako vstup do last_layer

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

Najlepšiu odpoveď

1

Pretože môžete nastaviť parameter return_sequences na True v LSTM vrstva, získavate poradí s rovnakým počtom čas kroky ako svoj vstup a výstup priestor 1 pre každú timestep, teda tvar (None, 129, 1). Potom, môžete použiť Dense vrstva na tento tensor, ale táto vrstva sa aplikuje vždy na poslednú rozmer tensor, ktoré vo vašom prípade je 1 a nie 129. Preto vám dostať výstup (None, 129, 64). Potom môžete použiť finálny výstup vrstvu, ktorá je tiež aplikované na posledný rozmer vášho tensor výsledkom výstup s tvarom (None, 129, 1). Na Tensorflow docs aj to vysvetliť správanie:

Ak vstup do vrstva má hodnotu väčšiu ako 2, potom Husté prepočítava dot produkt medzi vstupmi a jadro pozdĺž posledného os vstupy a os 0 jadra (pomocou tf.tensordot).

Môžete nastaviť, return_sequences na False ak chcete pracovať s 2D výstup (batch_size, features) namiesto 3D (batch_size, time_steps, features)alebo môžete použiť Flatten vrstva.

2021-11-24 08:30:26

V iných jazykoch

Táto stránka je v iných jazykoch

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