Toplu eğitim

Python ile TensorFlow’a Giriş

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Toplu eğitim nedir?

Bu görsel, King County’deki evler için fiyat, büyüklük ve yatak odası sayısı verilerini gösterir.

Bu görsel, King County’deki evler için fiyat, büyüklük ve yatak odası sayısı verilerini partilere bölünmüş halde gösterir.

Python ile TensorFlow’a Giriş

chunksize parametresi

  • pd.read_csv() verileri partiler halinde yüklemeyi sağlar
    • Tüm veri kümesini yüklemekten kaçının
    • chunksize parametresi parti boyutunu belirler
# pandas ve numpy'ı içe aktarın
import pandas as pd
import numpy as np

# Verileri partiler halinde yükleyin
for batch in pd.read_csv('kc_housing.csv', chunksize=100):
    # price sütununu çıkarın
    price = np.array(batch['price'], np.float32)

    # size sütununu çıkarın
    size = np.array(batch['size'], np.float32)
Python ile TensorFlow’a Giriş

Doğrusal modeli partilerle eğitme

# tensorflow, pandas ve numpy'ı içe aktarın
import tensorflow as tf
import pandas as pd
import numpy as np
# Eğitilebilir değişkenleri tanımlayın
intercept = tf.Variable(0.1, tf.float32)
slope = tf.Variable(0.1, tf.float32)
# Modeli tanımlayın
def linear_regression(intercept, slope, features):
    return intercept + features*slope
Python ile TensorFlow’a Giriş

Doğrusal modeli partilerle eğitme

# Tahminleri hesaplayın ve kayıp fonksiyonunu döndürün
def loss_function(intercept, slope, targets, features):
    predictions = linear_regression(intercept, slope, features)
    return tf.keras.losses.mse(targets, predictions)
# Optimizasyonu tanımlayın
opt = tf.keras.optimizers.Adam()
Python ile TensorFlow’a Giriş

Doğrusal modeli partilerle eğitme

# Verileri pandas ile partiler halinde yükleyin
for batch in pd.read_csv('kc_housing.csv', chunksize=100):
    # Hedef ve özellik sütunlarını çıkarın
    price_batch = np.array(batch['price'], np.float32)
    size_batch = np.array(batch['lot_size'], np.float32)

    # Kayıp fonksiyonunu en aza indirin
    opt.minimize(lambda: loss_function(intercept, slope, price_batch, size_batch), 
                 var_list=[intercept, slope])
# Parametre değerlerini yazdırın
print(intercept.numpy(), slope.numpy())
Python ile TensorFlow’a Giriş

Tüm örneklem ve toplu eğitim karşılaştırması

  • Tüm örneklem
    1. Her dönemde tek güncelleme
    2. Veri kümesini olduğu gibi alır
    3. Bellekle sınırlı
  • Toplu eğitim
    1. Her dönemde çoklu güncelleme
    2. Veri kümesinin bölünmesi gerekir
    3. Veri kümesi boyutunda sınır yok
Python ile TensorFlow’a Giriş

Haydi pratik yapalım!

Python ile TensorFlow’a Giriş

Preparing Video For Download...