Trénování lineárního modelu po dávkách
V tomto cvičení natrénujeme lineární regresní model po dávkách – navážeme na předchozí cvičení. Budeme postupně procházet datovou sadu po dávkách a po každém kroku aktualizovat proměnné modelu intercept a slope. Tento přístup umožňuje pracovat s datovými sadami, které jsou příliš velké na to, aby se vešly celé do paměti.
Ztrátová funkce loss_function(intercept, slope, targets, features) je již definovaná. Kromě toho je k dispozici importovaný keras a numpy pod zkratkou np. Trénované proměnné zadej do var_list ve stejném pořadí, v jakém se objevují jako argumenty ztrátové funkce.
Toto cvičení je součástí kurzu
Úvod do TensorFlow v Pythonu
Pokyny k cvičení
- Použij optimalizátor
.Adam(). - Načti data ze souboru
'kc_house_data.csv'po dávkách s hodnotouchunksizenastavenou na 100. - Extrahuj sloupec
pricez proměnnébatch, převeď ho nanumpypole typu 32bitový float a výsledek ulož doprice_batch. - Dokonči ztrátovou funkci, doplň seznam trénovaných proměnných a proveď minimalizaci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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())