НачатьНачать бесплатно

Часть 1: участвуйте в розыгрыше призов

В этом упражнении вы познакомитесь со слоем Dense — и сделаете это в формате увлекательного задания. Представьте себе игровое шоу, в котором призы определяет нейронная сеть. Участник вводит:

  • количество братьев и сестёр,
  • количество чашек кофе, выпитых за день,
  • любит ли он помидоры (да или нет),

а модель предсказывает, какой приз он выиграет.

Для реализации этого вы будете использовать Keras. Вам нужно создать модель с входным слоем, принимающим три признака: количество братьев/сестёр (целое число), количество чашек кофе (целое число) и отношение к помидорам (0 или 1). Затем данные поступают в слой Dense, который выдаёт 3 вероятности (вероятности выиграть автомобиль, подарочный сертификат или ничего).

Слои Input и Dense, а также объект Model из Keras уже импортированы. Также предоставлен инициализатор весов init для инициализации слоя Dense.

Это упражнение является частью курса

Машинный перевод с Keras

Посмотреть курс

Инструкции к упражнению

  • Определите входной слой, который принимает ровно 3 участников (размер батча), где у каждого участника есть 3 входных признака: количество братьев/сестёр, количество чашек кофе и отношение к помидорам (размер входа).
  • Определите слой Dense с 3 выходами, функцией активации softmax и инициализатором init.
  • Вычислите предсказания модели для x с помощью созданной модели.
  • Определите наиболее вероятный приз (в виде целого числа) для каждого участника.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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)]))
Редактировать и запускать код