TensorFlow RFC প্রক্রিয়া

প্রতিটি নতুন TensorFlow বৈশিষ্ট্য মন্তব্যের জন্য অনুরোধ (RFC) হিসাবে জীবন শুরু করে।

একটি RFC হল একটি নথি যা একটি প্রয়োজনীয়তা এবং প্রস্তাবিত পরিবর্তনগুলি বর্ণনা করে যা এটি সমাধান করবে। বিশেষ করে, RFC করবে:

  • RFC টেমপ্লেট অনুযায়ী ফরম্যাট করুন।
  • সম্প্রদায়/rfcs ডিরেক্টরিতে একটি পুল অনুরোধ হিসাবে জমা দিন।
  • গ্রহণের আগে আলোচনা এবং পর্যালোচনা বৈঠকের বিষয় হতে হবে।

টেনসরফ্লো রিকোয়েস্ট ফর কমেন্টস (আরএফসি) এর উদ্দেশ্য হল টেনসরফ্লো সম্প্রদায়কে উন্নয়নে সম্পৃক্ত করা, স্টেকহোল্ডার এবং বিশেষজ্ঞদের কাছ থেকে প্রতিক্রিয়া পেয়ে এবং ডিজাইনের পরিবর্তনগুলিকে বিস্তৃতভাবে যোগাযোগ করা।

কিভাবে একটি RFC জমা দিতে হয়

  1. একটি RFC জমা দেওয়ার আগে, প্রকল্পের অবদানকারী এবং রক্ষণাবেক্ষণকারীদের সাথে আপনার লক্ষ্য নিয়ে আলোচনা করুন এবং প্রাথমিক প্রতিক্রিয়া পান। সংশ্লিষ্ট প্রকল্পের জন্য ডেভেলপার মেলিং তালিকা ব্যবহার করুন (developers@tensorflow.org, অথবা প্রাসঙ্গিক SIG-এর তালিকা)।

  2. আপনার RFC খসড়া।

    • নকশা পর্যালোচনা মানদণ্ড পড়ুন
    • RFC টেমপ্লেট অনুসরণ করুন।
    • আপনার RFC ফাইলের নাম দিন YYYYMMDD-descriptive-name.md , যেখানে YYYYMMDD হল জমা দেওয়ার তারিখ, এবং descriptive-name আপনার RFC-এর শিরোনামের সাথে সম্পর্কিত৷ (উদাহরণস্বরূপ, যদি আপনার RFC-এর শিরোনাম হয় সমান্তরাল উইজেটস API , আপনি ফাইলের নাম 20180531-parallel-widgets.md ব্যবহার করতে পারেন।
    • আপনার যদি ছবি বা অন্যান্য সহায়ক ফাইল থাকে, তাহলে ফর্মের একটি ডিরেক্টরি তৈরি করুন YYYYMMDD-descriptive-name যাতে সেই ফাইলগুলি সংরক্ষণ করা যায়।

    RFC খসড়া লেখার পরে, এটি জমা দেওয়ার আগে রক্ষণাবেক্ষণকারী এবং অবদানকারীদের কাছ থেকে প্রতিক্রিয়া পান।

    বাস্তবায়ন কোড লেখার প্রয়োজন নেই, তবে এটি ডিজাইন আলোচনায় সাহায্য করতে পারে।

  3. একটি স্পনসর নিয়োগ.

    • একজন স্পনসরকে অবশ্যই প্রকল্পের রক্ষণাবেক্ষণকারী হতে হবে।
    • PR পোস্ট করার আগে RFC-তে স্পনসরকে শনাক্ত করুন।

    আপনি স্পনসর ছাড়াই একটি RFC পোস্ট করতে পারেন , কিন্তু PR পোস্ট করার এক মাসের মধ্যে যদি এখনও কোনও স্পনসর না থাকে তবে এটি বন্ধ হয়ে যাবে।

  4. tensorflow/community/rfcs- এ আপনার RFC একটি পুল অনুরোধ হিসাবে জমা দিন।

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

    PR এর শীর্ষে মন্তব্যের সময়কাল কতক্ষণ হবে তা চিহ্নিত করুন। পিআর পোস্ট করার জন্য এটি কমপক্ষে দুই সপ্তাহ হওয়া উচিত।

  5. একটি সংক্ষিপ্ত বিবরণ, PR-এর একটি লিঙ্ক এবং পর্যালোচনার জন্য একটি অনুরোধ সহ বিকাশকারী মেইলিং তালিকাকে ইমেল করুন৷ পূর্ববর্তী মেইলিং এর বিন্যাস অনুসরণ করুন, আপনি এই উদাহরণে দেখতে পারেন।

  6. RFC PR পোস্ট হওয়ার দুই সপ্তাহের মধ্যে স্পন্সর একটি পর্যালোচনা কমিটির বৈঠকের জন্য অনুরোধ করবে। আলোচনা প্রাণবন্ত হলে, পর্যালোচনা করতে যাওয়ার আগে এটি নিষ্পত্তি হওয়া পর্যন্ত অপেক্ষা করুন। পর্যালোচনা সভার লক্ষ্য হল ছোটখাটো সমস্যা সমাধান করা; আগে থেকেই বড় ইস্যুতে ঐকমত্যে পৌঁছাতে হবে।

  7. মিটিং RFC অনুমোদন করতে পারে, এটিকে প্রত্যাখ্যান করতে পারে বা এটি আবার বিবেচনা করার আগে পরিবর্তনের প্রয়োজন হতে পারে। অনুমোদিত RFCগুলি সম্প্রদায়/rfcs- এ একত্রিত হবে এবং প্রত্যাখ্যাত RFC-এর PR বন্ধ থাকবে।

RFC অংশগ্রহণকারীরা

অনেক লোক RFC প্রক্রিয়ার সাথে জড়িত:

  • RFC লেখক - এক বা একাধিক সম্প্রদায়ের সদস্য যারা একটি RFC লেখেন এবং প্রক্রিয়াটির মাধ্যমে এটিকে চ্যাম্পিয়ন করতে প্রতিশ্রুতিবদ্ধ

  • RFC স্পন্সর — একজন রক্ষণাবেক্ষণকারী যিনি RFC-এর পৃষ্ঠপোষকতা করেন এবং RFC পর্যালোচনা প্রক্রিয়ার মাধ্যমে এটি পালন করবেন

  • পর্যালোচনা কমিটি — রক্ষণাবেক্ষণকারীদের একটি দল যাদের RFC গ্রহণের সুপারিশ করার দায়িত্ব রয়েছে

  • যে কোনো সম্প্রদায়ের সদস্য RFC তাদের চাহিদা পূরণ করবে কিনা সে বিষয়ে প্রতিক্রিয়া প্রদান করে সাহায্য করতে পারে।

RFC স্পনসর

একজন স্পনসর হল RFC প্রক্রিয়ার সর্বোত্তম সম্ভাব্য ফলাফল নিশ্চিত করার জন্য দায়ী একটি প্রকল্প রক্ষণাবেক্ষণকারী। এটা অন্তর্ভুক্ত:

  • প্রস্তাবিত নকশার পক্ষে ওকালতি।
  • বিদ্যমান নকশা এবং শৈলী নিয়ম মেনে চলার জন্য RFC-কে গাইড করা।
  • একটি ফলপ্রসূ ঐকমত্যে আসার জন্য পর্যালোচনা কমিটিকে নির্দেশনা দেওয়া।
  • পর্যালোচনা কমিটির দ্বারা পরিবর্তনের অনুরোধ করা হলে, এগুলি করা হয়েছে তা নিশ্চিত করুন এবং কমিটির সদস্যদের কাছ থেকে পরবর্তী অনুমোদন নিন।
  • যদি RFC বাস্তবায়নে চলে যায়:
    • প্রস্তাবিত বাস্তবায়ন নকশা মেনে চলে তা নিশ্চিত করা।
    • সফলভাবে বাস্তবায়নের জন্য উপযুক্ত পক্ষের সাথে সমন্বয় করুন।

RFC পর্যালোচনা কমিটি

পর্যালোচনা কমিটি পরিবর্তনের অনুমোদন, প্রত্যাখ্যান বা অনুরোধ করবে কিনা তা সর্বসম্মত ভিত্তিতে সিদ্ধান্ত নেয়। তারা এর জন্য দায়ী:

  • পাবলিক ফিডব্যাকের সারাংশ আইটেমগুলির জন্য অ্যাকাউন্ট করা হয়েছে তা নিশ্চিত করা।
  • জনসংযোগে মন্তব্য হিসেবে তাদের মিটিং নোট যোগ করা।
  • তাদের সিদ্ধান্তের কারণ প্রদান করা।

একটি পর্যালোচনা কমিটির গঠন নির্দিষ্ট শাসন শৈলী এবং প্রতিটি প্রকল্পের নেতৃত্ব অনুযায়ী পরিবর্তিত হতে পারে। মূল TensorFlow-এর জন্য, কমিটি TensorFlow প্রকল্পের অবদানকারীদের নিয়ে গঠিত হবে যাদের সংশ্লিষ্ট ডোমেন এলাকায় দক্ষতা রয়েছে।

সম্প্রদায়ের সদস্য এবং RFC প্রক্রিয়া

RFC-এর উদ্দেশ্য হল টেনসরফ্লো-তে নতুন পরিবর্তনের মাধ্যমে সম্প্রদায়ের ভালভাবে প্রতিনিধিত্ব করা এবং পরিবেশন করা নিশ্চিত করা। RFCs পর্যালোচনায় অংশগ্রহণ করা সম্প্রদায়ের সদস্যদের দায়িত্ব যেখানে তারা ফলাফলের প্রতি আগ্রহী।

RFC-তে আগ্রহী সম্প্রদায়ের সদস্যদের উচিত:

  • বিবেচনার জন্য পর্যাপ্ত সময় দেওয়ার জন্য যত তাড়াতাড়ি সম্ভব প্রতিক্রিয়া প্রদান করুন
  • প্রতিক্রিয়া প্রদান করার আগে RFC গুলি পুঙ্খানুপুঙ্খভাবে পড়ুন
  • সুশীল এবং গঠনমূলক হোন।

নতুন বৈশিষ্ট্য বাস্তবায়ন

একবার একটি RFC অনুমোদিত হলে, বাস্তবায়ন শুরু হতে পারে।

আপনি যদি একটি RFC বাস্তবায়নের জন্য নতুন কোডে কাজ করছেন:

  • আপনি RFC-তে অনুমোদিত বৈশিষ্ট্য এবং নকশা বুঝতে পেরেছেন তা নিশ্চিত করুন। কাজ শুরু করার আগে প্রশ্ন জিজ্ঞাসা করুন এবং পদ্ধতি নিয়ে আলোচনা করুন।
  • নতুন বৈশিষ্ট্যগুলিতে অবশ্যই নতুন ইউনিট পরীক্ষা অন্তর্ভুক্ত থাকতে হবে যা যাচাই করে যে বৈশিষ্ট্যটি প্রত্যাশা অনুযায়ী কাজ করে। কোড লেখার আগে এই পরীক্ষাগুলি লিখতে একটি ভাল ধারণা।
  • টেনসরফ্লো কোড স্টাইল গাইড অনুসরণ করুন
  • প্রাসঙ্গিক API ডকুমেন্টেশন যোগ করুন বা আপডেট করুন। নতুন ডকুমেন্টেশনে RFC উল্লেখ করুন।
  • আপনি যে প্রজেক্ট রেপোতে অবদান রাখছেন তাতে CONTRIBUTING.md ফাইলে দেওয়া অন্য যেকোনো নির্দেশিকা অনুসরণ করুন।
  • আপনার কোড জমা দেওয়ার আগে ইউনিট পরীক্ষা চালান।
  • নতুন কোড সফলভাবে ল্যান্ড করতে RFC স্পনসরের সাথে কাজ করুন।

বার উঁচু রাখা

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

  • প্রাসঙ্গিক মেলিং তালিকায় প্রাথমিক নকশা কথোপকথন।
  • স্পনসর নিয়োগে ব্যর্থতা।
  • প্রতিক্রিয়া পর্বের সময় সমালোচনামূলক আপত্তি।
  • নকশা পর্যালোচনার সময় ঐকমত্য অর্জনে ব্যর্থতা।
  • বাস্তবায়নের সময় উত্থাপিত উদ্বেগ (উদাহরণস্বরূপ: পিছনের সামঞ্জস্য অর্জনে অক্ষমতা, রক্ষণাবেক্ষণ সম্পর্কে উদ্বেগ)।

যদি এই প্রক্রিয়াটি ভালভাবে কাজ করে, তবে RFCগুলি পরবর্তী পর্যায়ের পরিবর্তে আগের পর্যায়ে ব্যর্থ হবে বলে আশা করা হয়। একটি অনুমোদিত RFC বাস্তবায়নের প্রতিশ্রুতির কোন গ্যারান্টি নয়, এবং প্রস্তাবিত RFC বাস্তবায়নের স্বীকৃতি এখনও স্বাভাবিক কোড পর্যালোচনা প্রক্রিয়ার সাপেক্ষে।

এই প্রক্রিয়া সম্পর্কে আপনার যদি কোনো প্রশ্ন থাকে, তাহলে নির্দ্বিধায় ডেভেলপারদের মেলিং লিস্টে জিজ্ঞাসা করুন বা tensorflow/community- এ একটি সমস্যা ফাইল করুন।