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

Изменение функции потерь

В предыдущем упражнении вы определили функцию потерь tensorflow и вычислили её значение для набора фактических и предсказанных значений. В этом упражнении вы будете вычислять потери внутри другой функции — loss_function(), которая сначала генерирует предсказанные значения на основе данных и переменных. Цель состоит в том, чтобы построить функцию обучаемых переменных модели, возвращающую значение потерь. Затем вы сможете многократно вычислять её при разных значениях переменных, пока не найдёте минимум. На практике эта функция передаётся оптимизатору в tensorflow. Обратите внимание, что features и targets уже определены и доступны. Также доступны Variable, float32 и keras.

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

Введение в TensorFlow на Python

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

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

  • Определите переменную scalar с начальным значением 1.0 и типом float32.
  • Определите функцию loss_function(), которая принимает аргументы scalar, features и targets именно в таком порядке.
  • Используйте функцию потерь на основе среднего абсолютного отклонения.

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

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

# Initialize a variable named scalar
scalar = ____(1.0, ____)

# Define the model
def model(scalar, features = features):
  	return scalar * features

# Define a loss function
def loss_function(____, features = features, targets = targets):
	# Compute the predicted values
	predictions = model(scalar, features)
    
	# Return the mean absolute error loss
	return keras.losses.____(targets, predictions)

# Evaluate the loss function and print the loss
print(loss_function(scalar).numpy())
Редактировать и запускать код