Uso dell'operazione di livello denso
Abbiamo visto come definire livelli densi in tensorflow usando l'algebra lineare. In questo esercizio salteremo l'algebra lineare e lasceremo che keras gestisca i dettagli. In questo modo potremo costruire la rete qui sotto, che ha 2 livelli nascosti e 10 feature, usando meno codice rispetto alla rete con 1 livello nascosto e 3 feature.

Per costruire questa rete, dovremo definire tre livelli densi, ciascuno dei quali prende il livello precedente come input, lo moltiplica per dei pesi e applica una funzione di attivazione. Nota che i dati di input sono già stati definiti e sono disponibili come tensore 100x10: borrower_features. Inoltre, il modulo keras.layers è disponibile.
Questo esercizio fa parte del corso
Introduzione a TensorFlow in Python
Istruzioni dell'esercizio
- Imposta
dense1come un livello denso con 7 nodi di output e funzione di attivazione sigmoid. - Definisci
dense2come un livello denso con 3 nodi di output e funzione di attivazione sigmoid. - Definisci
predictionscome un livello denso con 1 nodo di output e funzione di attivazione sigmoid. - Stampa le shape di
dense1,dense2epredictions, in quest’ordine, usando il metodo.shape. Perché ognuno di questi tensori ha 100 righe?
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Define the first dense layer
dense1 = keras.layers.Dense(____, activation='____')(borrower_features)
# Define a dense layer with 3 output nodes
dense2 = ____
# Define a dense layer with 1 output node
predictions = ____
# Print the shapes of dense1, dense2, and predictions
print('\n shape of dense1: ', dense1.shape)
print('\n shape of dense2: ', ____.shape)
print('\n shape of predictions: ', ____.shape)