De dense-laagoperatie gebruiken
We hebben nu gezien hoe je dense lagen in tensorflow definieert met lineaire algebra. In deze oefening slaan we de lineaire algebra over en laten we keras de details uitwerken. Zo kunnen we onderstaand netwerk bouwen — met 2 verborgen lagen en 10 features — met minder code dan we nodig hadden voor het netwerk met 1 verborgen laag en 3 features.

Om dit netwerk te bouwen, moeten we drie dense lagen definiëren. Elke laag neemt de vorige laag als input, vermenigvuldigt die met gewichten en past een activatiefunctie toe. Let op: de inputdata is al gedefinieerd en beschikbaar als een 100x10-tensor: borrower_features. Daarnaast is de module keras.layers beschikbaar.
Deze oefening maakt deel uit van de cursus
Introductie tot TensorFlow in Python
Oefeninstructies
- Zet
dense1op een dense laag met 7 outputnodes en een sigmoid-activatiefunctie. - Definieer
dense2als een dense laag met 3 outputnodes en een sigmoid-activatiefunctie. - Definieer
predictionsals een dense laag met 1 outputnode en een sigmoid-activatiefunctie. - Print de shapes van
dense1,dense2enpredictionsin die volgorde met de methode.shape. Waarom hebben elk van deze tensors 100 rijen?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)