शुरू करेंमुफ़्त में शुरू करें

ग्रेडिएंट्स के साथ ऑप्टिमाइज़ करना

आपको एक लॉस फंक्शन दिया गया है, \(y = x^{2}\), जिसे आप न्यूनतम करना चाहते हैं. आप x के अलग-अलग मानों पर GradientTape() ऑपरेशन का उपयोग करके ढाल (slope) निकालकर ऐसा कर सकते हैं. अगर ढाल पॉज़िटिव हो, तो x घटाने से लॉस कम होगा. अगर ढाल नेगेटिव हो, तो x बढ़ाने से लॉस कम होगा. इसी तरह ग्रेडिएंट डिसेंट काम करता है.

The image shows a plot of y equals x squared. It also shows the gradient at x equals -1, x equals 0, and x equals 1.

व्यवहार में, आप ग्रेडिएंट डिसेंट अपने-आप चलाने के लिए हाई-लेवल tensorflow ऑपरेशन का उपयोग करेंगे. लेकिन इस अभ्यास में, आप x के -1, 1, और 0 मानों पर ढाल की गणना करेंगे. निम्न ऑपरेशंस उपलब्ध हैं: GradientTape(), multiply(), और Variable().

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में TensorFlow परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

  • x को वैरिएबल के रूप में परिभाषित करें, जिसकी शुरुआती वैल्यू x0 हो.
  • लॉस फंक्शन y को x गुणा x के बराबर सेट करें. ऑपरेटर ओवरलोडिंग का उपयोग न करें.
  • फंक्शन को ऐसा सेट करें कि वह x के सापेक्ष y का ग्रेडिएंट लौटाए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

def compute_gradient(x0):
  	# Define x as a variable with an initial value of x0
	x = ____(x0)
	with GradientTape() as tape:
		tape.watch(x)
        # Define y using the multiply operation
		y = ____
    # Return the gradient of y with respect to x
	return tape.gradient(____, ____).numpy()

# Compute and print gradients at x = -1, 1, and 0
print(compute_gradient(-1.0))
print(compute_gradient(1.0))
print(compute_gradient(0.0))
कोड संपादित करें और चलाएँ