बैच प्रशिक्षण

Python में TensorFlow परिचय

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

बैच प्रशिक्षण क्या है?

यह चित्र King County में घरों की कीमत, आकार, और बेडरूम की संख्या का डेटा दिखाता है.

यह चित्र King County में घरों की कीमत, आकार, और बेडरूम की संख्या का डेटा बैचों में बाँटा हुआ दिखाता है.

Python में TensorFlow परिचय

`chunksize` पैरामीटर

  • pd.read_csv() से डेटा बैचों में लोड कर सकते हैं
    • पूरा डेटासेट लोड करने से बचें
    • chunksize पैरामीटर से बैच साइज तय करें
# Import pandas and numpy
import pandas as pd
import numpy as np

# Load data in batches
for batch in pd.read_csv('kc_housing.csv', chunksize=100):
    # Extract price column
    price = np.array(batch['price'], np.float32)

    # Extract size column
    size = np.array(batch['size'], np.float32)
Python में TensorFlow परिचय

बैचों में लीनियर मॉडल प्रशिक्षित करना

# Import tensorflow, pandas, and numpy
import tensorflow as tf
import pandas as pd
import numpy as np
# Define trainable variables
intercept = tf.Variable(0.1, tf.float32)
slope = tf.Variable(0.1, tf.float32)
# Define the model
def linear_regression(intercept, slope, features):
    return intercept + features*slope
Python में TensorFlow परिचय

बैचों में लीनियर मॉडल प्रशिक्षित करना

# Compute predicted values and return loss function
def loss_function(intercept, slope, targets, features):
    predictions = linear_regression(intercept, slope, features)
    return tf.keras.losses.mse(targets, predictions)
# Define optimization operation
opt = tf.keras.optimizers.Adam()
Python में TensorFlow परिचय

बैचों में लीनियर मॉडल प्रशिक्षित करना

# Load the data in batches from pandas
for batch in pd.read_csv('kc_housing.csv', chunksize=100):
    # Extract the target and feature columns
    price_batch = np.array(batch['price'], np.float32)
    size_batch = np.array(batch['lot_size'], np.float32)

    # Minimize the loss function
    opt.minimize(lambda: loss_function(intercept, slope, price_batch, size_batch), 
                 var_list=[intercept, slope])
# Print parameter values
print(intercept.numpy(), slope.numpy())
Python में TensorFlow परिचय

पूर्ण सैंपल बनाम बैच प्रशिक्षण

  • पूर्ण सैंपल
    1. प्रति epoch एक अपडेट
    2. डेटासेट बिना बदलाव स्वीकार करता है
    3. मेमोरी से सीमित
  • बैच प्रशिक्षण
    1. प्रति epoch कई अपडेट
    2. डेटासेट को विभाजित करना पड़ता है
    3. डेटासेट साइज पर कोई सीमा नहीं
Python में TensorFlow परिचय

अभ्यास करते हैं!

Python में TensorFlow परिचय

Preparing Video For Download...