Comprendere i valori di summary () (Output Shape, Param #)?
Sto controllando l'output della summaryfunzione e non capisco tutti i valori stampati.
Ad esempio, guarda questo semplice codice:
x = [1, 2, 3, 4, 5]
y = [1.2, 1.8, 3.5, 3.7, 5.3]
model = Sequential()
model.add(Dense(10, input_dim=1, activation='relu'))
model.add(Dense(30, input_dim=1, activation='relu'))
model.add(Dense(10, input_dim=1, activation='relu'))
model.add(Dense(1))
model.summary()
Il risultato:
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 10) 20
_________________________________________________________________
dense_1 (Dense) (None, 30) 330
_________________________________________________________________
dense_2 (Dense) (None, 10) 310
_________________________________________________________________
dense_3 (Dense) (None, 1) 11
=================================================================
Total params: 671
Trainable params: 671
Non-trainable params: 0
_________________________________________________________________
- Perché il significato del valore Nessuno, sotto la colonna
Output Shape? cosa significa nessuno qui? - Quale rete non mostrerà Nessuno nel riepilogo?
- Perché il significato della
Params #colonna? Come viene calcolato questo valore?
Risposte
Nessuno è solo un segnaposto che dice che la rete può inserire più di un campione alla volta. Nessuno significa che questa dimensione è variabile. La prima dimensione in un modello keras è sempre la dimensione del batch. ... Ecco perché questa dimensione viene spesso ignorata quando si definisce il modello. Ad esempio, quando definisci input_shape = (100,200), in realtà stai ignorando la dimensione del batch e definendo la forma di "ogni campione".
Nonenon verrà visualizzato Se imposti un batch fisso. Ad esempio, se inviassi un batch di 10 immagini la tua forma sarebbe (10, 64, 64, 3) e se la cambiassi in 25 avresti (25, 64, 64, 3)Per il dense_1st layer , il numero di parametri è 20. Questo è ottenuto come: 10 (valori di input) + 10 (valori di bias)
Per dense_2nd layer , il numero di parametri è 330. Questo è ottenuto come: 10 (valori di input) * 30 (neuroni nel secondo strato) + 30 (valori di polarizzazione per i neuroni nel secondo strato)
Per dense_3rd layer , il numero di parametri è 310. Questo è ottenuto come: 30 (valori di input) * 10 (neuroni nel terzo livello) + 10 (valori di bias per i neuroni nel terzo livello)
Per lo strato finale , il numero di parametri è 11. Si ottiene come: 10 (valori di input) * 1 (neuroni nel secondo strato) + 1 (valori di bias per i neuroni nello strato finale)
parametri totali = 20 + 330 + 310 + 11 = 671