Del 1: Delta och vinn fantastiska priser
I den här övningen får du lära dig om Dense-lagret – på ett roligt sätt! Föreställ dig ett TV-spel där priserna avgörs av ett neuralt nätverk. Deltagaren anger
- antalet syskon,
- antalet koppar kaffe druckna den dagen och
- om de gillar tomater eller inte,
och modellen förutsäger vilket pris deltagaren vinner.
Du implementerar detta med Keras. Du behöver skapa en modell med ett indatalager som tar emot tre särdrag (antalet syskon som ett heltal, antalet koppar kaffe som ett heltal samt tomattycke som 0 eller 1). Indata skickas sedan genom ett Dense-lager som returnerar 3 sannolikheter (det vill säga sannolikheterna för att vinna en bil, ett presentkort eller ingenting).
Input- och Dense-lager samt ett Model-objekt från Keras är redan importerade. Du får även tillgång till en viktinitierare kallad init för att initiera Dense-lagret.
Den här övningen är en del av kursen
Maskinöversättning med Keras
Övningsinstruktioner
- Definiera ett indatalager som enbart tar emot 3 deltagare (batchstorlek), där varje deltagare har 3 indata: antal syskon, antal koppar kaffe och tomattycke (indatastorlek).
- Definiera ett
Dense-lager med 3 utdata, aktiveringsfunktionensoftmaxochinitsom initierare. - Beräkna modellens prediktioner för
xmed den definierade modellen. - Hämta det mest sannolika priset (som ett heltal) för varje deltagare.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)]))