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
Instrukcje do ćwiczenia
- Zdefiniuj zmienną
scalarz wartością początkową 1.0 i typemfloat32. - Zdefiniuj funkcję
loss_function(), która przyjmuje argumentyscalar,featuresitargets– 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())