Modificarea funcției de pierdere
În exercițiul anterior, ai definit o funcție de pierdere în tensorflow și ai evaluat-o o singură dată pentru un set de valori reale și valori prezise. În acest exercițiu, vei calcula pierderea în interiorul unei alte funcții numite loss_function(), care generează mai întâi valorile prezise pe baza datelor și a variabilelor. Scopul acestei abordări este să construiești o funcție a variabilelor antrenabile ale modelului care returnează pierderea. Poți apoi evalua această funcție în mod repetat pentru diferite valori ale variabilelor, până găsești minimul. În practică, vei transmite această funcție unui optimizator în tensorflow. Reține că features și targets sunt deja definite și disponibile. De asemenea, Variable, float32 și keras sunt disponibile.
Acest exercițiu face parte din cursul
Introducere în TensorFlow în Python
Instrucțiuni pentru exercițiu
- Definește o variabilă,
scalar, cu valoarea inițială 1.0 și tipulfloat32. - Definește o funcție numită
loss_function(), care primește ca argumentescalar,featuresșitargets, în această ordine. - Folosește o funcție de pierdere bazată pe eroarea absolută medie.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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())