एमएल समुदाय दिवस 9 नवंबर है! TensorFlow, JAX से नई जानकारी के लिए हमसे जुड़ें, और अधिक जानें

TensorFlow Addons




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

इंस्टालेशन

स्थिर बिल्ड

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

pip install tensorflow-addons

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

import tensorflow as tf
import tensorflow_addons as tfa

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

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

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

मूल अवधारणा

सबपैकेज के भीतर मानकीकृत एपीआई

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

GPU/CPU कस्टम-ऑप्स

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

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

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

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

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

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

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

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

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

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

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

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

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

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

योगदान

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

समुदाय

लाइसेंस

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