बैचों में एक linear मॉडल को ट्रेन करना
इस अभ्यास में, आप पिछले अभ्यास से आगे बढ़ते हुए एक linear regression मॉडल को बैचों में ट्रेन करेंगे. हम डेटासेट को बैचों में स्टेप करते हुए, हर स्टेप के बाद मॉडल के वैरिएबल्स intercept और slope को अपडेट करेंगे. इस तरीके से हम ऐसे डेटासेट्स पर ट्रेन कर पाएँगे जो मेमोरी में एक साथ लोड करने के लिए बहुत बड़े होते हैं.
ध्यान दें कि loss फंक्शन loss_function(intercept, slope, targets, features) आपके लिए पहले से परिभाषित है. इसके अलावा, keras इम्पोर्ट किया जा चुका है और numpy np नाम से उपलब्ध है. Trainable वैरिएबल्स को var_list में उसी क्रम में डालें जिस क्रम में वे loss फंक्शन के आर्ग्युमेंट्स के रूप में आते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में TensorFlow परिचय
अभ्यास निर्देश
.Adam()ऑप्टिमाइज़र का उपयोग करें.'kc_house_data.csv'से डेटा को बैचों मेंchunksize100 के साथ लोड करें.batchसेpriceकॉलम निकालें, उसे 32-bit float टाइप केnumpyarray में कन्वर्ट करें, औरprice_batchको असाइन करें.- loss फंक्शन को पूरा करें, trainable वैरिएबल्स की लिस्ट भरें, और minimization चलाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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())