CommencezCommencez gratuitement

Partie 1 : Courez la chance de gagner des prix incroyables

Dans cet exercice, vous allez découvrir la couche Dense. Pourquoi ne pas le faire avec un exercice ludique ? Imaginez un jeu télévisé où les prix sont déterminés par un réseau de neurones. La personne participante indique

  • le nombre de frères et sœurs,
  • le nombre de cafés bus aujourd'hui et
  • si elle aime les tomates ou non,

et le modèle prédit ce qu'elle va gagner.

Pour mettre ceci en place, vous allez utiliser Keras. Vous devrez créer un modèle avec une couche d'entrée qui accepte trois caractéristiques (le nombre de frères et sœurs comme entier, le nombre de cafés comme entier et l'appréciation des tomates comme 0 ou 1). Ensuite, l'entrée passe par une couche Dense qui produit 3 probabilités (c.-à-d. les probabilités de gagner une voiture, une carte-cadeau ou rien).

Les couches Input et Dense, ainsi qu'un objet Model de Keras, sont déjà importés. On vous fournit aussi un initialiseur de poids nommé init pour initialiser la couche Dense.

Cette activité fait partie du cours

Traduction automatique avec Keras

Voir le cours

Instructions de l’exercice

  • Définissez une couche d'entrée qui accepte uniquement 3 personnes participantes (taille de lot), où chacune possède 3 entrées : nombre de frères et sœurs, nombre de cafés et préférence pour les tomates (taille d'entrée).
  • Définissez une couche Dense qui a 3 sorties, une activation softmax et init comme initialiseur.
  • Calculez les prédictions du modèle pour x à l'aide du modèle défini.
  • Obtenez le prix le plus probable (sous forme d'entier) pour chaque personne participante.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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)]))
Modifier et exécuter le code