Modificar la función de pérdida
En el ejercicio anterior, definiste una función de pérdida tensorflow y luego la evaluaste una vez para un conjunto de valores reales y predichos. En este ejercicio, calcularás la pérdida dentro de otra función llamada loss_function(), que primero genera valores predichos a partir de los datos y las variables. Se trata de construir una función de las variables entrenables del modelo que devuelva la pérdida. A continuación, puedes evaluar repetidamente esta función para distintos valores de las variables hasta que encuentres el mínimo. En la práctica, pasarás esta función a un optimizador en tensorflow. Ten en cuenta que features y targets se han definido y están disponibles. Además, están disponibles Variable, float32 y keras.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Define una variable,
scalar, con un valor inicial de 1,0 y un tipo defloat32. - Define una función llamada
loss_function(), que toma como argumentosscalar,features, ytargetsen ese orden. - Utiliza una función de pérdida de error medio absoluto.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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())