Google JAX
गूगल जेएएक्स संख्यात्मक कार्यों को बदलने के लिए एक मशीन लर्निंग फ्रेमवर्क है। इसे ऑटोग्राड (एक फलन के विभेदन के माध्यम से प्रवणता फलन का स्वचालित प्राप्ति) और टेंसरफ्लो के एक्स. एल. ए. (त्वरित रैखिक बीजगणित) के एक संशोधित संस्करण को एक साथ लाने के रूप में वर्णित किया गया है। यह NumPy की संरचना और कार्यप्रवाह का यथासंभव बारीकी से पालन करने के लिए डिज़ाइन किया गया है और विभिन्न मौजूदा ढांचे जैसे कि टेंसरफ्लो और पायटॉर्च के साथ काम करता है। जे. ए. एक्स. के प्राथमिक कार्य हैंः ग्राडः स्वचालित विभेदन जिटः संकलन वी. एम. पी.: ऑटो-वेक्टराइजेशन पी. एम. ए. पी.: एस. पी. एम. डी. प्रोग्रामिंग ग्राड नीचे दिया गया कोड फ़ंक्शन के स्वचालित विभेदन को प्रदर्शित करता है। #जेएक्स इम्पोर्ट ग्रेड इम्पोर्ट jax.numpy से आयात jax.numpy के रूप में जेएनपी #लॉजिस्टिक फ़ंक्शन डेफ लॉजिस्टिक (एक्स) को परिभाषित करता हैः रिटर्न jnp.exp (एक्स)/(jnp.exp (एक्स) + 1) #लॉजिस्टिक फ़ंक्शन के ग्रेडिएंट फ़ंक्शन को प्राप्त करें ग्रेड _ लॉजिस्टिक = ग्रेड (लॉजिस्टिक) #लॉजिस्टिक फ़ंक्शन के ग्रेडिएंट का मूल्यांकन करें x = 1 ग्रेड _ लॉग _ आउट = ग्रेड _ लॉजिस्टिक (1) प्रिंट (ग्रेड _ लॉग _ आउट) अंतिम पंक्ति को आउटपुट करना चाहिए 0.19661194 जिट नीचे दिया गया कोड संलयन के माध्यम से जिट फ़ंक्शन के अनुकूलन को प्रदर्शित करता है। #जेएक्स इम्पोर्ट जेआईटी इम्पोर्ट jax.numpy के रूप में जेएनपी #क्यूब फ़ंक्शन डेफ क्यूब (एक्स) को परिभाषित करता हैः रिटर्न एक्स * एक्स * एक्स #डेटा उत्पन्न करता है एक्स = jnp.ones ((10000,1000)) #क्यूब फ़ंक्शन जेआईटी का जेआईटी संस्करण बनाएँ जेआईटी क्यूब = जेआईटी (क्यूब) #गति तुलना क्यूब (एक्स) जेआईटी क्यूब (एक्स) के लिए एक ही डेटा पर क्यूब और जेआईटी क्यूब फ़ंक्शन लागू करें। 17) (पंक्ति संख्या 16) की तुलना में उल्लेखनीय रूप से छोटा होना चाहिए। लाइन नं. पर मानों को बढ़ाना। 7, अंतर को बढ़ाएगा। vmap नीचे दिया गया कोड फ़ंक्शन के वेक्टराइजेशन को दर्शाता है। #फंकटूल से आयात जैक्स इम्पोर्ट से आंशिक रूप से आयात करते हैं vmap इम्पोर्ट jax.numpy के रूप में jnp #परिभाषित फ़ंक्शन डेफ ग्रेड्स (स्वयं, इनपुट): in _ grade _ partial = partial (self._net_grads, self._net_params) grade _ vmap = vmap (in _ grade _ partial) rich _ grads = grade _ vmap (इनपुट) फ्लैट _ ग्रेड्स = np.asarray (self._flatten_batch (rich _ grads)) दावा करते हैं flat_grads.ndim = = 2 और flat_grads.shape [0] = inputs.shape [0] फ्लैट _ ग्रेड्स इस खंड के दाईं ओर GIF वेक्टराइज्ड एडिशन की धारणा को दर्शाता है। पी. एम. ए. पी. नीचे दिया गया कोड मैट्रिक्स गुणन के लिए फलन के समानांतरकरण को दर्शाता है। #जे. ए. एक्स. से पी. एम. ए. पी. और यादृच्छिक आयात करें; जे. ए. एक्स. आयात पी. एम. ए. पी. से जे. ए. एक्स. नम्बाई आयात करें, जे. एन. पी. के रूप में यादृच्छिक आयात jax.numpy आयामों के 2 यादृच्छिक मैट्रिक्स उत्पन्न करें 5000 x 6000, एक प्रति उपकरण यादृच्छिक कुंजी = random.split (random.PRNGKey (0), 2) मैट्रिक्स = पी. एम. ए. पी. (लैम्ब्डा कुंजीः random.normal (कुंजी, (5000,6000))) (यादृच्छिक कुंजी) #डेटा हस्तांतरण के बिना, समानांतर में, प्रत्येक सी. पी. यू./जी. पी. यू. आउटपुट पर एक स्थानीय मैट्रिक्स गुणन करें = पी. एम. ए. पी. (लैम्ब्डा एक्सः jnp.dot (एक्स, एक्स. टी.)) (मैट्रिक्स) #बिना डेटा हस्तांतरण के, इसके लिए माध्य प्राप्त करें। इक्विनोक्स, एक पुस्तकालय जो पायट्री के रूप में मानकीकृत कार्यों (तंत्रिका नेटवर्क सहित) का प्रतिनिधित्व करने के विचार के इर्द-गिर्द घूमता है। इसे पैट्रिक किडर ने बनाया था। डिफ्रैक्स, विभेदक समीकरणों के संख्यात्मक समाधान के लिए एक पुस्तकालय, जैसे कि साधारण विभेदक समीकरण और यादृच्छिक विभेदक समीकरण। ऑप्टैक्स, डीपमाइंड द्वारा विकसित ढाल प्रसंस्करण और अनुकूलन के लिए एक पुस्तकालय है। लाइनएक्स, रैखिक प्रणालियों और रैखिक न्यूनतम वर्गों को संख्यात्मक रूप से हल करने के लिए एक पुस्तकालय है। आरलैक्स, डीपमाइंड द्वारा विकसित सुदृढीकरण शिक्षण एजेंटों को विकसित करने के लिए एक पुस्तकालय है। ग्राफ, ग्राफ न्यूरल नेटवर्क के लिए एक पुस्तकालय, जिसे डीपमाइंड द्वारा विकसित किया गया है। जैक्सटाइपिंग, सरणी या टेंसर के आकार और डेटा प्रकार ("डी टाइप") के लिए प्रकार एनोटेशन जोड़ने के लिए एक पुस्तकालय। कुछ आर पुस्तकालय जेएएक्स का उपयोग बैकएंड के रूप में भी करते हैं, जिनमें शामिल हैंः फास्टरेरैंडोमाइज, एक पुस्तकालय जो जेएएक्स में रैखिक-बीजगणित अनुकूलित संकलक का उपयोग करता है ताकि प्रयोग प्रक्रिया के एक डिजाइन में संतुलित यादृच्छिककरण के चयन में तेजी लाई जा सके जिसे रेरैंडोमाइजेशन के रूप में जाना जाता है। यह भी देखें NumPy TensorFlo पाईटॉर्च CUDA स्वचालित विभेदन बस-इन-टाइम संकलन वेक्टराइजेशन स्वचालित समानांतरकरण बाहरी लिंक प्रलेखनः कोलाब (जुपिटर/आईपिथन) क्विकस्टार्ट गाइडः टेंसरफ्लो का XLAː (त्वरित रैखिक बीजगणित) मूल पेपरः संदर्भ मशीन लर्निंग JAX