IniziaInizia gratis

Modificare la funzione di loss

Nel precedente esercizio hai definito una funzione di loss di tensorflow e l’hai poi valutata una volta su un insieme di valori reali e previsti. In questo esercizio calcolerai la loss all’interno di un’altra funzione chiamata loss_function(), che prima genera i valori previsti a partire dai dati e dalle variabili. L’obiettivo è costruire una funzione delle variabili allenabili del modello che restituisce la loss. Potrai quindi valutare ripetutamente questa funzione per diversi valori delle variabili finché non trovi il minimo. In pratica, passerai questa funzione a un ottimizzatore in tensorflow. Nota che features e targets sono già stati definiti e sono disponibili. Inoltre, Variable, float32 e keras sono disponibili.

Questo esercizio fa parte del corso

Introduzione a TensorFlow in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Definisci una variabile, scalar, con valore iniziale 1.0 e tipo float32.
  • Definisci una funzione chiamata loss_function(), che prende scalar, features e targets come argomenti, in quest’ordine.
  • Usa una funzione di loss mean absolute error.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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())
Modifica ed esegui il codice