টেনসরফ্লো অ্যাডঅন




TensorFlow Addons হল অবদানের একটি সংগ্রহস্থল যা সু-প্রতিষ্ঠিত API প্যাটার্নের সাথে সঙ্গতিপূর্ণ, কিন্তু মূল TensorFlow-এ উপলব্ধ নয় এমন নতুন কার্যকারিতা প্রয়োগ করে। TensorFlow নেটিভভাবে বিপুল সংখ্যক অপারেটর, স্তর, মেট্রিক্স, ক্ষতি এবং অপ্টিমাইজারকে সমর্থন করে। যাইহোক, ML-এর মতো দ্রুত চলমান ক্ষেত্রে, অনেক আকর্ষণীয় নতুন বিকাশ রয়েছে যেগুলিকে মূল TensorFlow-এ একত্রিত করা যায় না (কারণ তাদের বিস্তৃত প্রযোজ্যতা এখনও স্পষ্ট নয়, বা এটি বেশিরভাগ সম্প্রদায়ের একটি ছোট উপসেট দ্বারা ব্যবহৃত হয়)।

ইনস্টলেশন

স্থিতিশীল বিল্ডস

সর্বশেষ সংস্করণ ইনস্টল করতে, নিম্নলিখিত চালান:

pip install tensorflow-addons

অ্যাডঅন ব্যবহার করতে:

import tensorflow as tf
import tensorflow_addons as tfa

নাইটলি বিল্ডস

এছাড়াও পাইপ প্যাকেজের অধীনে টেনসরফ্লো অ্যাডঅনগুলির রাত্রিকালীন বিল্ড রয়েছে tfa-nightly , যা টেনসরফ্লো-এর সর্বশেষ স্থিতিশীল সংস্করণের বিপরীতে নির্মিত। রাত্রিকালীন বিল্ডগুলিতে নতুন বৈশিষ্ট্য অন্তর্ভুক্ত থাকে তবে সংস্করণযুক্ত রিলিজের তুলনায় কম স্থিতিশীল হতে পারে।

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

মূল ধারণা

সাবপ্যাকেজের মধ্যে প্রমিত API

ব্যবহারকারীর অভিজ্ঞতা এবং প্রকল্প রক্ষণাবেক্ষণযোগ্যতা হল TF-Addons এর মূল ধারণা। এইগুলি অর্জন করার জন্য আমাদের প্রয়োজন যে আমাদের সংযোজনগুলি মূল TensorFlow-এ দেখা প্রতিষ্ঠিত API প্যাটার্নগুলির সাথে সামঞ্জস্যপূর্ণ।

GPU/CPU কাস্টম-অপস

TensorFlow Addons-এর একটি বড় সুবিধা হল প্রি-কম্পাইল করা অপ্স রয়েছে। যদি একটি CUDA 10 ইনস্টলেশন পাওয়া না যায় তাহলে অপটি স্বয়ংক্রিয়ভাবে একটি CPU বাস্তবায়নে ফিরে আসবে।

প্রক্সি রক্ষণাবেক্ষণ

অ্যাডঅনগুলিকে সাবপ্যাকেজ এবং সাবমডিউলগুলিকে বিভক্ত করার জন্য ডিজাইন করা হয়েছে যাতে সেগুলি ব্যবহারকারীদের দ্বারা রক্ষণাবেক্ষণ করা যেতে পারে যাদের সেই উপাদানটিতে দক্ষতা এবং নিহিত আগ্রহ রয়েছে।

লেখার অনুমতি সহ ব্যবহারকারীর সংখ্যা সীমিত করার জন্য যথেষ্ট অবদান রাখার পরেই সাবপ্যাকেজ রক্ষণাবেক্ষণ মঞ্জুর করা হবে। অবদানগুলি ইস্যু ক্লোজিং, বাগ ফিক্স, ডকুমেন্টেশন, নতুন কোড বা বিদ্যমান কোড অপ্টিমাইজ করার আকারে আসতে পারে। সাবমডিউল রক্ষণাবেক্ষণের জন্য প্রবেশের জন্য একটি নিম্ন বাধা সহ মঞ্জুর করা যেতে পারে কারণ এটি রেপোতে লেখার অনুমতি অন্তর্ভুক্ত করবে না।

আরও তথ্যের জন্য এই বিষয়ে RFC দেখুন।

সাবপ্যাকেজের পর্যায়ক্রমিক মূল্যায়ন

এই সংগ্রহস্থলের প্রকৃতির প্রেক্ষিতে, সাবপ্যাকেজ এবং সাবমডিউলগুলি সময়ের সাথে সাথে সম্প্রদায়ের জন্য কম এবং কম দরকারী হতে পারে। রিপোজিটরিটিকে টেকসই রাখার জন্য, আমরা আমাদের কোডের দ্বি-বার্ষিক পর্যালোচনা করব যাতে সবকিছু এখনও রেপোর মধ্যে থাকে। এই পর্যালোচনার অবদানকারী কারণগুলি হ'ল:

  1. সক্রিয় রক্ষণাবেক্ষণকারীর সংখ্যা
  2. OSS ব্যবহারের পরিমাণ
  3. কোডে দায়ী করা সমস্যা বা বাগগুলির পরিমাণ
  4. যদি একটি ভাল সমাধান এখন পাওয়া যায়

TensorFlow Addons-এর মধ্যে কার্যকারিতা তিনটি গ্রুপে শ্রেণীবদ্ধ করা যেতে পারে:

  • প্রস্তাবিত : ভালভাবে রক্ষণাবেক্ষণ করা API; ব্যবহার উৎসাহিত করা হয়।
  • নিরুৎসাহিত : একটি ভাল বিকল্প উপলব্ধ; API ঐতিহাসিক কারণে রাখা হয়; অথবা API-এর রক্ষণাবেক্ষণের প্রয়োজন হয় এবং অপেক্ষার সময়সীমা বাতিল করা হয়।
  • অপ্রচলিত : আপনার নিজের ঝুঁকিতে ব্যবহার করুন; মুছে ফেলার বিষয়।

এই তিনটি গোষ্ঠীর মধ্যে স্থিতি পরিবর্তন হল: প্রস্তাবিত <-> নিরুৎসাহিত -> অবচয়।

একটি এপিআইকে অবহেলিত হিসাবে চিহ্নিত করা এবং মুছে ফেলার মধ্যে সময়কাল 90 দিন হবে৷ যুক্তি হল:

  1. TensorFlow Addons মাসিক রিলিজ করলে, একটি API মুছে ফেলার আগে 2-3টি রিলিজ হবে। রিলিজ নোট ব্যবহারকারীদের যথেষ্ট সতর্কতা দিতে পারে.

  2. 90 দিন রক্ষণাবেক্ষণকারীদের তাদের কোড ঠিক করার জন্য যথেষ্ট সময় দেয়।

অবদান

TF-Addons হল একটি কমিউনিটি নেতৃত্বাধীন ওপেন সোর্স প্রকল্প। যেমন, প্রকল্প জনসাধারণের অবদান, বাগ-সমাধান এবং ডকুমেন্টেশনের উপর নির্ভর করে। অনুগ্রহ করে কীভাবে অবদান রাখবেন তার জন্য একটি নির্দেশিকা দেখুন। এই প্রকল্পটি TensorFlow-এর আচরণবিধি মেনে চলে। অংশগ্রহণ করার মাধ্যমে, আপনি এই কোডটি বজায় রাখবেন বলে আশা করা হচ্ছে।

সম্প্রদায়

লাইসেন্স

অ্যাপাচি লাইসেন্স 2.0