Parte 1: Partecipa e vinci premi fantastici
In questo esercizio, scoprirai il livello Dense. Perché non farlo con un esercizio divertente? Immagina un game show in cui i premi sono decisi da una rete neurale. Il concorrente inserisce
- il numero di fratelli/sorelle,
- il numero di caffè bevuti oggi e
- se gli piacciono i pomodori oppure no,
e il modello predice cosa vincerà il concorrente.
Per implementarlo userai Keras. Dovrai creare un modello con un livello di input che accetti tre caratteristiche (il numero di fratelli/sorelle come intero, il numero di caffè come intero e se piacciono i pomodori come 0 o 1). Poi l'input passa attraverso un livello Dense che produce 3 probabilità (cioè le probabilità di vincere un'auto, un buono regalo oppure nulla).
I livelli Input e Dense, così come un oggetto Model di Keras, sono già importati. Ti viene anche fornito un inizializzatore dei pesi chiamato init per inizializzare il livello Dense.
Questo esercizio fa parte del corso
Traduzione automatica con Keras
Istruzioni dell'esercizio
- Definisci un livello di input che accetti solo 3 concorrenti (dimensione del batch), dove ciascun concorrente ha 3 input: numero di fratelli/sorelle, numero di caffè e preferenza per i pomodori (dimensione dell'input).
- Definisci un livello
Densecon 3 uscite, attivazionesoftmaxeinitcome inizializzatore. - Calcola le previsioni del modello per
xusando il modello definito. - Ottieni il premio più probabile (come intero) per ciascun concorrente.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Define an input layer with batch size 3 and input size 3
inp = Input(____=(____,____))
# Get the output of the 3 node Dense layer
pred = ____(____, ____=____, kernel_initializer=init, bias_initializer=init)(inp)
model = Model(inputs=inp, outputs=pred)
names = ["Mark", "John", "Kelly"]
prizes = ["Gift voucher", "Car", "Nothing"]
x = np.array([[5, 0, 1], [0, 3, 1], [2, 2, 1]])
# Compute the model prediction for x
y = ____.____(____)
# Get the most probable class for each sample
classes = np.____(____, ____)
print("\n".join(["{} has probabilities {} and wins {}".format(n,p,prizes[c]) \
for n,p,c in zip(names, y, classes)]))