Zacznij terazZacznij za darmo

Modyfikowanie funkcji straty

W poprzednim ćwiczeniu zdefiniowałeś funkcję straty w tensorflow, a następnie obliczyłeś ją raz dla zestawu wartości rzeczywistych i przewidywanych. W tym ćwiczeniu obliczysz stratę wewnątrz innej funkcji o nazwie loss_function(), która najpierw generuje wartości przewidywane na podstawie danych i zmiennych. Celem jest skonstruowanie funkcji trenowalnych zmiennych modelu, która zwraca wartość straty. Następnie możesz wielokrotnie wywoływać tę funkcję dla różnych wartości zmiennych, aż znajdziesz minimum. W praktyce przekażesz tę funkcję do optymalizatora w tensorflow. Zwróć uwagę, że features i targets są już zdefiniowane i dostępne. Dostępne są też Variable, float32 oraz keras.

To ćwiczenie jest częścią kursu

Wprowadzenie do TensorFlow w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj zmienną scalar z wartością początkową 1.0 i typem float32.
  • Zdefiniuj funkcję loss_function(), która przyjmuje argumenty scalar, features i targets – dokładnie w tej kolejności.
  • Użyj funkcji straty opartej na błędzie średnim bezwzględnym.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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())
Edytuj i uruchom kod