ÎncepețiÎncepe gratuit

Antrenarea unui model liniar pe loturi

În acest exercițiu, vom antrena un model de regresie liniară pe loturi, continuând de unde am rămas în exercițiul anterior. Vom parcurge setul de date în loturi și vom actualiza variabilele modelului, intercept și slope, după fiecare pas. Această abordare ne permite să antrenăm modele pe seturi de date prea mari pentru a fi încărcate integral în memorie.

Reține că funcția de pierdere loss_function(intercept, slope, targets, features) a fost deja definită pentru tine. De asemenea, keras a fost importat, iar numpy este disponibil ca np. Variabilele antrenabile trebuie introduse în var_list în ordinea în care apar ca argumente ale funcției de pierdere.

Acest exercițiu face parte din cursul

Introducere în TensorFlow în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Folosește optimizatorul .Adam().
  • Încarcă datele din 'kc_house_data.csv' în loturi, cu un chunksize de 100.
  • Extrage coloana price din batch, convertește-o într-un array numpy de tip float pe 32 de biți și atribuie rezultatul variabilei price_batch.
  • Completează funcția de pierdere, definește lista variabilelor antrenabile și efectuează minimizarea.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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())
Editează și rulează codul