एक लीनियर मॉडल ट्रेन करें
इस अभ्यास में, हम पिछले अभ्यास से आगे बढ़ेंगे. इंटरसेप्ट और स्लोप, intercept और slope, परिभाषित और इनिशियलाइज़ किए जा चुके हैं. इसके अलावा, एक फंक्शन loss_function(intercept, slope) परिभाषित है, जो डेटा और मॉडल वैरिएबल्स का उपयोग करके लॉस निकालता है.
अब आप एक ऑप्टिमाइज़ेशन ऑपरेशन opt के रूप में परिभाषित करेंगे. फिर आप लॉस को मिनिमाइज़ करके intercept और slope के ऑप्टिमल मान खोजते हुए एक यूनिवेरिएट लीनियर मॉडल ट्रेन करेंगे. ध्यान दें कि opt ऑपरेशन हर स्टेप में ऑप्टिमम के करीब जाने की कोशिश करेगा, लेकिन उसे पाने के लिए कई स्टेप्स लगेंगे. इसलिए, आपको इस ऑपरेशन को बार-बार चलाना होगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में TensorFlow परिचय
अभ्यास निर्देश
- 0.5 की लर्निंग रेट के साथ
optके रूप में एक Adam ऑप्टिमाइज़र इनिशियलाइज़ करें. - ऑप्टिमाइज़र पर
.minimize()मेथड अप्लाई करें. .minimize()को एक लैम्ब्डा फंक्शन के रूप में उपयुक्त आर्ग्युमेंट्स के साथloss_function()पास करें.- जिन वैरिएबल्स को अपडेट करना है, उनकी सूची
var_listमें सप्लाई करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize an Adam optimizer
opt = keras.optimizers.____(0.5)
for j in range(100):
# Apply minimize, pass the loss function, and supply the variables
opt.____(lambda: ____(____, ____), var_list=[____, ____])
# Print every 10th value of the loss
if j % 10 == 0:
print(loss_function(intercept, slope).numpy())
# Plot data and regression line
plot_results(intercept, slope)