ComeçarComece gratuitamente

Treinamento de um modelo linear em lotes

Neste exercício, treinaremos um modelo de regressão linear em lotes, começando de onde paramos no exercício anterior. Faremos isso percorrendo o conjunto de dados em lotes e atualizando as variáveis do modelo, intercept e slope, após cada etapa. Essa abordagem nos permitirá treinar com conjuntos de dados que, de outra forma, seriam muito grandes para serem armazenados na memória.

Observe que a função de perda,loss_function(intercept, slope, targets, features), foi definida para você. Além disso, keras foi importado para você e numpy está disponível como np. As variáveis treináveis devem ser inseridas em var_list na ordem em que aparecem como argumentos da função de perda.

Este exercício faz parte do curso

Introdução ao TensorFlow em Python

Ver Curso

Instruções de exercício

  • Use o otimizador .Adam().
  • Carregue os dados de 'kc_house_data.csv' em lotes com um chunksize de 100.
  • Extraia a coluna price de batch, converta-a em uma matriz numpy do tipo float de 32 bits e atribua-a a price_batch.
  • Complete a função de perda, preencha a lista de variáveis treináveis e execute a minimização.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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())
Editar e executar código