CommencezCommencez gratuitement

Entraîner un modèle linéaire par lots

Dans cet exercice, vous allez entraîner un modèle de régression linéaire par lots, en reprenant là où vous vous êtes arrêté dans l'exercise précédent. Nous allons parcourir l'ensemble de données par lots et mettre à jour les variables du modèle, intercept et slope, après chaque étape. Cette approche permet d'entraîner sur des ensembles de données trop volumineux pour tenir en mémoire.

Notez que la fonction de perte loss_function(intercept, slope, targets, features) a été définie pour vous. De plus, keras a été importé pour vous et numpy est disponible sous np. Les variables entraînables doivent être saisies dans var_list dans le même ordre que celui des arguments de la fonction de perte.

Cette activité fait partie du cours

Introduction à TensorFlow en Python

Voir le cours

Instructions de l’exercice

  • Utilisez l'optimiseur .Adam().
  • Chargez les données de 'kc_house_data.csv' par lots avec un chunksize de 100.
  • Extrayez la colonne price de batch, convertissez-la en un tableau numpy de type flottant 32 bits et assignez-la à price_batch.
  • Complétez la fonction de perte, remplissez la liste des variables entraînables et effectuez la minimisation.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Initialize Adam optimizer
opt = keras.optimizers.____

# Load data in batches
for batch in pd.read_csv('____', ____=____):
	size_batch = np.array(batch['sqft_lot'], np.float32)

	# Extract the price values for the current batch
	price_batch = np.array(batch['____'], np.____)

	# Complete the loss, fill in the variable list, and minimize
	opt.minimize(lambda: loss_function(____, slope, price_batch, size_batch), var_list=[intercept, ____])

# Print trained parameters
print(intercept.numpy(), slope.numpy())
Modifier et exécuter le code