ComeçarComece de graça

Parte 1: Entre para concorrer a prêmios incríveis

Neste exercício, você vai conhecer a camada Dense. Que tal fazer isso com uma atividade divertida? Imagine um game show em que os prêmios são decididos por uma rede neural. A pessoa participante informa

  • o número de irmãos,
  • quantos cafés tomou hoje e
  • se gosta de tomate ou não,

e o modelo prevê o prêmio que ela vai ganhar.

Para implementar isso, você vai usar Keras. Será preciso criar um modelo com uma camada de entrada que aceite três features (o número de irmãos como inteiro, o número de cafés como inteiro e se gosta de tomate ou não como 0 ou 1). Em seguida, a entrada passa por uma camada Dense que produz 3 probabilidades (ou seja, probabilidades de ganhar um carro, um vale-presente ou nada).

As camadas Input e Dense, assim como o objeto Model do Keras, já foram importados. Também foi fornecido um inicializador de pesos chamado init para inicializar a camada Dense.

Este exercício faz parte do curso

Machine Translation with Keras

Ver curso

Instruções do exercício

  • Defina uma camada de entrada que aceite apenas 3 participantes (tamanho do lote), em que cada participante tenha 3 entradas: contagem de irmãos, número de cafés e preferência por tomate (tamanho da entrada).
  • Defina uma camada Dense com 3 saídas, ativação softmax e init como inicializador.
  • Calcule as previsões do modelo para x usando o modelo definido.
  • Obtenha o prêmio mais provável (como um inteiro) para cada participante.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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)]))
Editar e executar o código