ПочатиПочніть безкоштовно

Частина 1: Виграйте неймовірні призи

У цій вправі ви ознайомитеся з шаром Dense. Чому б не зробити це у формі цікавої задачі? Уявімо, що є телешоу, де призи визначає нейронна мережа. Учасник повідомляє

  • кількість братів і сестер,
  • скільки кав випито сьогодні, і
  • чи подобаються йому/їй помідори,

а модель передбачає, який приз отримає учасник.

Щоб це реалізувати, ви скористаєтеся Keras. Потрібно створити модель із вхідним шаром, який приймає три ознаки (кількість братів і сестер як ціле число, кількість кав як ціле число та вподобання помідорів як 0 або 1). Потім вхід проходить через шар Dense, який повертає 3 імовірності (тобто імовірності виграшу автомобіля, подарункового сертифіката або нічого).

Шари Input і Dense, а також обʼєкт Model з Keras уже імпортовано. Також надано ініціалізатор ваг init для ініціалізації шару Dense.

Ця вправа є частиною курсу

Machine Translation з Keras

Переглянути курс

Інструкції до вправи

  • Визначте вхідний шар, який приймає рівно 3 учасників (batch size), де кожен має 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)]))
Редагувати та запускати код