टेन्सरफ्लो ऐडऑन




TensorFlow Addons योगदान का एक भंडार है जो अच्छी तरह से स्थापित एपीआई पैटर्न के अनुरूप है, लेकिन कोर TensorFlow में उपलब्ध नहीं होने वाली नई कार्यक्षमता को लागू करता है। TensorFlow मूल रूप से बड़ी संख्या में ऑपरेटरों, परतों, मेट्रिक्स, हानियों और ऑप्टिमाइज़र का समर्थन करता है। हालाँकि, एमएल जैसे तेजी से आगे बढ़ने वाले क्षेत्र में, कई दिलचस्प नए विकास हैं जिन्हें कोर टेन्सरफ्लो में एकीकृत नहीं किया जा सकता है (क्योंकि उनकी व्यापक प्रयोज्यता अभी तक स्पष्ट नहीं है, या यह ज्यादातर समुदाय के एक छोटे उपसमूह द्वारा उपयोग किया जाता है)।

इंस्टालेशन

स्थिर निर्माण

नवीनतम संस्करण स्थापित करने के लिए, निम्नलिखित चलाएँ:

pip install tensorflow-addons

ऐडऑन का उपयोग करने के लिए:

import tensorflow as tf
import tensorflow_addons as tfa

संभवतः नए उपयोगकर्ताओं के लिए बनाया गया स्थिर सॉफ्टवेयर

पाइप पैकेज tfa-nightly के अंतर्गत TensorFlow Addons के रात्रिकालीन बिल्ड भी हैं, जो TensorFlow के नवीनतम स्थिर संस्करण के विरुद्ध बनाया गया है। रात्रिकालीन बिल्ड में नई सुविधाएँ शामिल हैं, लेकिन संस्करण रिलीज़ की तुलना में कम स्थिर हो सकती हैं।

pip install tfa-nightly

स्रोत से स्थापित करना

आप स्रोत से भी इंस्टॉल कर सकते हैं. इसके लिए बेज़ेल बिल्ड सिस्टम की आवश्यकता है।

git clone https://github.com/tensorflow/addons.git
cd addons

# If building GPU Ops (Requires CUDA 10.0 and CuDNN 7)
export TF_NEED_CUDA=1
export CUDA_TOOLKIT_PATH="/path/to/cuda10" (default: /usr/local/cuda)
export CUDNN_INSTALL_PATH="/path/to/cudnn" (default: /usr/lib/x86_64-linux-gnu)

# This script links project with TensorFlow dependency
python3 ./configure.py

bazel build build_pip_pkg
bazel-bin/build_pip_pkg artifacts

pip install artifacts/tensorflow_addons-*.whl

मूल अवधारणा

उपपैकेजों के भीतर मानकीकृत एपीआई

उपयोगकर्ता अनुभव और परियोजना रखरखाव टीएफ-एडऑन में मुख्य अवधारणाएं हैं। इन्हें प्राप्त करने के लिए हमें आवश्यक है कि हमारे परिवर्धन कोर टेन्सरफ्लो में देखे गए स्थापित एपीआई पैटर्न के अनुरूप हों।

जीपीयू/सीपीयू कस्टम-ऑप्स

TensorFlow Addons का एक प्रमुख लाभ यह है कि इसमें पूर्व-संकलित ऑप्स हैं। यदि CUDA 10 इंस्टॉलेशन नहीं मिलता है तो ऑप स्वचालित रूप से CPU कार्यान्वयन पर वापस आ जाएगा।

प्रॉक्सी रखरखाव

ऐडऑन को उपपैकेजों और सबमॉड्यूल को विभाजित करने के लिए डिज़ाइन किया गया है ताकि उन्हें उन उपयोगकर्ताओं द्वारा बनाए रखा जा सके जिनके पास उस घटक में विशेषज्ञता और निहित स्वार्थ है।

लिखित अनुमति वाले उपयोगकर्ताओं की संख्या को सीमित करने के लिए पर्याप्त योगदान किए जाने के बाद ही उपपैकेज अनुरक्षण प्रदान किया जाएगा। योगदान समस्या समापन, बग फिक्स, दस्तावेज़ीकरण, नया कोड या मौजूदा कोड को अनुकूलित करने के रूप में आ सकता है। प्रवेश के लिए कम बाधा के साथ सबमॉड्यूल रखरखाव प्रदान किया जा सकता है क्योंकि इसमें रेपो को लिखने की अनुमति शामिल नहीं होगी।

अधिक जानकारी के लिए इस विषय पर आरएफसी देखें।

उपपैकेजों का आवधिक मूल्यांकन

इस रिपॉजिटरी की प्रकृति को देखते हुए, समय बीतने के साथ उपपैकेज और सबमॉड्यूल समुदाय के लिए कम उपयोगी होते जा सकते हैं। रिपॉजिटरी को टिकाऊ बनाए रखने के लिए, हम यह सुनिश्चित करने के लिए अपने कोड की द्वि-वार्षिक समीक्षा करेंगे कि सब कुछ अभी भी रेपो के अंतर्गत है। इस समीक्षा में योगदान देने वाले कारक होंगे:

  1. सक्रिय अनुरक्षकों की संख्या
  2. ओएसएस उपयोग की मात्रा
  3. कोड के कारण उत्पन्न समस्याओं या बगों की मात्रा
  4. यदि अब कोई बेहतर समाधान उपलब्ध है

TensorFlow Addons के भीतर कार्यक्षमता को तीन समूहों में वर्गीकृत किया जा सकता है:

  • सुझाव : सुव्यवस्थित एपीआई; प्रयोग को प्रोत्साहित किया जाता है।
  • हतोत्साहित : एक बेहतर विकल्प उपलब्ध है; एपीआई को ऐतिहासिक कारणों से रखा गया है; या एपीआई को रखरखाव की आवश्यकता है और प्रतीक्षा अवधि को समाप्त किया जाना है।
  • अस्वीकृत : अपने जोखिम पर उपयोग करें; हटाए जाने योग्य विषय.

इन तीन समूहों के बीच स्थिति परिवर्तन इस प्रकार है: सुझाया गया <-> हतोत्साहित -> हतोत्साहित।

किसी एपीआई को अस्वीकृत के रूप में चिह्नित किए जाने और हटाए जाने के बीच की अवधि 90 दिन होगी। तर्क यह है:

  1. ऐसी स्थिति में जब TensorFlow Addons मासिक रूप से रिलीज़ होता है, API हटाए जाने से पहले 2-3 रिलीज़ होंगे। रिलीज़ नोट उपयोगकर्ता को पर्याप्त चेतावनी दे सकते हैं।

  2. 90 दिन अनुरक्षकों को अपना कोड ठीक करने के लिए पर्याप्त समय देते हैं।

योगदान

TF-Addons एक समुदाय आधारित ओपन सोर्स प्रोजेक्ट है। इस प्रकार, परियोजना सार्वजनिक योगदान, बग-फिक्स और दस्तावेज़ीकरण पर निर्भर करती है। योगदान कैसे करें, इस बारे में मार्गदर्शन के लिए कृपया योगदान दिशानिर्देश देखें। यह प्रोजेक्ट TensorFlow की आचार संहिता का पालन करता है। भाग लेने से, आपसे इस कोड को बनाए रखने की अपेक्षा की जाती है।

समुदाय

लाइसेंस

अपाचे लाइसेंस 2.0