Preparar el entrenamiento por lotes
Antes de poder entrenar un modelo lineal por lotes, primero debemos definir variables, una función de pérdida y una operación de optimización. En este ejercicio, nos prepararemos para entrenar un modelo que prediga price_batch, un lote de precios de viviendas, usando size_batch, un lote de tamaños de parcela en pies cuadrados. A diferencia de la lección anterior, lo haremos cargando lotes de datos con pandas, convirtiéndolos a arreglos de numpy y usándolos después para minimizar la función de pérdida paso a paso.
Variable(), keras(), y float32 ya se han importado por ti. Ten en cuenta que no debes establecer valores de argumento por defecto ni para el modelo ni para la función de pérdida, ya que generaremos los datos en lotes durante el proceso de entrenamiento.
Este ejercicio forma parte del curso
Introducción a TensorFlow en Python
Instrucciones del ejercicio
- Define
interceptcon un valor inicial de 10.0 y un tipo de dato de coma flotante de 32 bits. - Define el modelo para que devuelva los valores predichos usando
intercept,slopeyfeatures. - Define una función llamada
loss_function()que recibaintercept,slope,targetsyfeaturescomo argumentos y en ese orden. No establezcas valores por defecto para los argumentos. - Define la función de pérdida de error cuadrático medio usando
targetsypredictions.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define the intercept and slope
intercept = ___
slope = Variable(0.5, float32)
# Define the model
def linear_regression(intercept, slope, features):
# Define the predicted values
return ____
# Define the loss function
def ____:
# Define the predicted values
predictions = linear_regression(____, ____, features)
# Define the MSE loss
return keras.losses.____(____, ____)