TensorFlow Addons

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.




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

इंस्टालेशन

स्थिर बिल्ड

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

pip install tensorflow-addons

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

import tensorflow as tf
import tensorflow_addons as tfa

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

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

pip install tfa-nightly

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

आप स्रोत से भी स्थापित कर सकते हैं। इसके लिए आवश्यक है Bazel निर्माण प्रणाली।

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

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

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

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

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

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

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

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

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

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

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

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

योगदान

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

समुदाय

लाइसेंस

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