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
Instruções de exercício
- Use o otimizador
.Adam()
. - Carregue os dados de
'kc_house_data.csv'
em lotes com umchunksize
de 100. - Extraia a coluna
price
debatch
, converta-a em uma matriznumpy
do tipo float de 32 bits e atribua-a aprice_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())