Kom igångKom igång gratis

Träna en linjär modell i batchar

I den här övningen tränar vi en linjär regressionsmodell i batchar och fortsätter där vi slutade i föregående övning. Vi gör det genom att stega igenom datamängden i batchar och uppdatera modellens variabler, intercept och slope, efter varje steg. Det här tillvägagångssättet gör det möjligt att träna på datamängder som annars är för stora för att rymmas i minnet.

Observera att förlustfunktionen loss_function(intercept, slope, targets, features) redan är definierad. Dessutom har keras importerats och numpy är tillgängligt som np. De träningsbara variablerna ska anges i var_list i samma ordning som de förekommer i förlustfunktionens argument.

Den här övningen är en del av kursen

Introduktion till TensorFlow i Python

Visa kurs

Övningsinstruktioner

  • Använd .Adam()-optimeraren.
  • Läs in data från 'kc_house_data.csv' i batchar med ett chunksize på 100.
  • Extrahera kolumnen price från batch, konvertera den till en numpy-array av typen 32-bitars float och tilldela resultatet till price_batch.
  • Fyll i förlustfunktionen, ange listan med träningsbara variabler och utför minimeringssteget.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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())
Redigera och kör kod