Навчання лінійної моделі пакетами
У цій вправі ви навчатимете модель лінійної регресії пакетами, продовживши з того місця, де зупинилися у попередній вправі. Ми крокуватимемо набором даних пакетами й після кожного кроку оновлюватимемо змінні моделі — intercept і slope. Такий підхід дає змогу навчати моделі на наборах даних, які інакше надто великі, щоб уміститися в пам'яті.
Зверніть увагу, що функцію втрат loss_function(intercept, slope, targets, features) уже визначено для вас. Крім того, keras уже імпортовано, а numpy доступний як np. Навчувані змінні слід передати до var_list у тому самому порядку, у якому вони з'являються серед аргументів функції втрат.
Ця вправа є частиною курсу
Вступ до TensorFlow на Python
Інструкції до вправи
- Використайте оптимізатор
.Adam(). - Завантажте дані з
'kc_house_data.csv'пакетами зchunksize100. - Витягніть стовпець
priceзbatch, перетворіть його на масивnumpyтипу 32-бітний float і присвойте доprice_batch. - Доповніть функцію втрат, заповніть список навчуваних змінних і виконайте мінімізацію.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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())