थीनो - कम्प्यूटेशनल ग्राफ
उपरोक्त दो उदाहरणों से, आपने देखा होगा कि थीनो में हम एक अभिव्यक्ति बनाते हैं जिसका अंत में थीनो का उपयोग करके मूल्यांकन किया जाता है function। थीनो एक अभिव्यक्ति के निष्पादन का अनुकूलन करने के लिए उन्नत अनुकूलन तकनीकों का उपयोग करता है। गणना ग्राफ की कल्पना करने के लिए, थीनो एक प्रदान करता हैprinting इसके पुस्तकालय में पैकेज।
स्केलर एडिशन के लिए प्रतीकात्मक ग्राफ
हमारे स्केलर जोड़ कार्यक्रम के लिए अभिकलन ग्राफ देखने के लिए, मुद्रण पुस्तकालय का उपयोग निम्नानुसार करें -
theano.printing.pydotprint(f, outfile="scalar_addition.png", var_with_name_simple=True)
जब आप इस कथन को निष्पादित करते हैं, तो एक फ़ाइल जिसे बुलाया जाता है scalar_addition.pngआपकी मशीन पर बनाया जाएगा। सहेजे गए संगणना ग्राफ को आपके त्वरित संदर्भ के लिए यहां प्रदर्शित किया गया है -
उपरोक्त छवि बनाने के लिए पूरा कार्यक्रम सूची नीचे दी गई है -
from theano import *
a = tensor.dscalar()
b = tensor.dscalar()
c = a + b
f = theano.function([a,b], c)
theano.printing.pydotprint(f, outfile="scalar_addition.png", var_with_name_simple=True)
मैट्रिक्स गुणक के लिए प्रतीकात्मक ग्राफ
अब, हमारे मैट्रिक्स गुणक के लिए अभिकलन ग्राफ बनाने का प्रयास करें। इस ग्राफ को बनाने के लिए पूरी सूची नीचे दी गई है -
from theano import *
a = tensor.dmatrix()
b = tensor.dmatrix()
c = tensor.dot(a,b)
f = theano.function([a,b], c)
theano.printing.pydotprint(f, outfile="matrix_dot_product.png", var_with_name_simple=True)
उत्पन्न ग्राफ यहाँ दिखाया गया है -
जटिल रेखांकन
बड़ी अभिव्यक्तियों में, कम्प्यूटेशनल रेखांकन बहुत जटिल हो सकते हैं। थीनो प्रलेखन से लिया गया ऐसा ही एक ग्राफ यहाँ दिखाया गया है -
थीनो के कामकाज को समझने के लिए, पहले इन कम्प्यूटेशनल रेखांकन के महत्व को जानना महत्वपूर्ण है। इस समझ के साथ, हम थीनो के महत्व को जानेंगे।
क्यों थीनो?
कम्प्यूटेशनल रेखांकन की जटिलता को देखकर, आप अब थीनो को विकसित करने के पीछे के उद्देश्य को समझ पाएंगे। एक विशिष्ट संकलक कार्यक्रम में स्थानीय अनुकूलन प्रदान करेगा क्योंकि यह एक एकल इकाई के रूप में संपूर्ण गणना को कभी नहीं देखता है।
पूर्ण कम्प्यूटेशनल ग्राफ को अनुकूलित करने के लिए थीनो बहुत उन्नत अनुकूलन तकनीकों को लागू करता है। यह एक अनुकूलन संकलक के पहलुओं के साथ बीजगणित के पहलुओं को जोड़ती है। ग्राफ के एक हिस्से को सी-भाषा कोड में संकलित किया जा सकता है। बार-बार गणना के लिए, मूल्यांकन की गति महत्वपूर्ण है और थीनो एक बहुत ही कुशल कोड उत्पन्न करके इस उद्देश्य को पूरा करता है।