TFDS সংগ্রহস্থলে অবদান রাখুন

আমাদের লাইব্রেরিতে আপনার আগ্রহের জন্য আপনাকে ধন্যবাদ! আমরা এমন একটি অনুপ্রাণিত সম্প্রদায় পেয়ে রোমাঞ্চিত।

এবার শুরু করা যাক

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

সেটআপ

রেপো ক্লোনিং

শুরু করতে, টেনসরফ্লো ডেটাসেট সংগ্রহস্থল ক্লোন করুন বা ডাউনলোড করুন এবং স্থানীয়ভাবে রেপো ইনস্টল করুন।

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

উন্নয়ন নির্ভরতা ইনস্টল করুন:

pip install -e .  # Install minimal deps to use tensorflow_datasets
pip install -e ".[dev]"  # Install all deps required for testing and development

উল্লেখ্য যে সমস্ত ডেটাসেট-নির্দিষ্ট ডিপ ইনস্টল করার জন্য একটি pip install -e ".[tests-all]" রয়েছে।

ভিজ্যুয়াল স্টুডিও কোড

ভিজ্যুয়াল স্টুডিও কোডের সাথে বিকাশ করার সময়, আমাদের রেপো উন্নয়নে সহায়তা করার জন্য কিছু পূর্ব-নির্ধারিত সেটিংসের সাথে আসে (সঠিক ইন্ডেন্টেশন, পাইলিন্ট,...)।

  • আপনি যদি কিছু TensorFlow সতর্কতা বার্তার সম্মুখীন হন, তাহলে এই সমাধানের চেষ্টা করুন।
  • অনুপস্থিত আমদানির কারণে আবিষ্কার ব্যর্থ হলে যা ইনস্টল করা উচিত ছিল, দয়া করে dev পিপ ইনস্টল আপডেট করার জন্য একটি PR পাঠান।

পিআর চেকলিস্ট

সিএলএ স্বাক্ষর করুন

এই প্রকল্পে অবদান অবশ্যই একটি কন্ট্রিবিউটর লাইসেন্স চুক্তি (CLA) দ্বারা অনুষঙ্গী হতে হবে। আপনি (বা আপনার নিয়োগকর্তা) আপনার অবদানের কপিরাইট ধরে রেখেছেন; এটি কেবল আমাদের প্রকল্পের অংশ হিসাবে আপনার অবদানগুলি ব্যবহার এবং পুনরায় বিতরণ করার অনুমতি দেয়৷ ফাইলে আপনার বর্তমান চুক্তিগুলি দেখতে বা একটি নতুন স্বাক্ষর করতে < https://cla.developers.google.com/ >-এ যান৷

আপনাকে সাধারণত শুধুমাত্র একবার একটি CLA জমা দিতে হবে, তাই আপনি যদি ইতিমধ্যেই একটি জমা দিয়ে থাকেন (এমনকি এটি একটি ভিন্ন প্রকল্পের জন্য হলেও), আপনাকে সম্ভবত এটি আবার করতে হবে না।

সেরা অনুশীলন অনুসরণ করুন

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

আপনার শৈলী গাইড পরীক্ষা করুন

আমাদের স্টাইলটি গুগল পাইথন স্টাইল গাইডের উপর ভিত্তি করে তৈরি করা হয়েছে, যা PEP 8 পাইথন স্টাইল গাইডের উপর ভিত্তি করে। নতুন কোডটি ব্ল্যাক কোড শৈলী অনুসরণ করার চেষ্টা করা উচিত কিন্তু এর সাথে:

  • লাইনের দৈর্ঘ্য: 80
  • 4 এর পরিবর্তে 2 স্পেস ইন্ডেন্টেশন।
  • একক উদ্ধৃতি '
pip install pylint --upgrade
pylint tensorflow_datasets/core/some_file.py

আপনি একটি ফাইল স্বয়ংক্রিয় ফর্ম্যাট করার জন্য yapf চেষ্টা করতে পারেন, কিন্তু টুলটি নিখুঁত নয়, তাই আপনাকে সম্ভবত পরে ম্যানুয়ালি ফিক্সগুলি প্রয়োগ করতে হবে।

yapf tensorflow_datasets/core/some_file.py

pylint এবং yapf উভয়ই pip install -e ".[dev]" এর সাথে ইনস্টল করা উচিত তবে pip install সাথে নিজেও ইনস্টল করা যেতে পারে। আপনি যদি ভিএস কোড ব্যবহার করেন তবে সেই সরঞ্জামগুলি UI-তে একত্রিত হওয়া উচিত।

ডকস্ট্রিং এবং টাইপিং টীকা

ক্লাস এবং ফাংশন ডকস্ট্রিং এবং টাইপিং টীকা দিয়ে নথিভুক্ত করা উচিত। ডকস্ট্রিংগুলিকে গুগল স্টাইল অনুসরণ করা উচিত। উদাহরণ স্বরূপ:

def function(x: List[T]) -> T:
  """One line doc should end by a dot.

  * Use `backticks` for code and tripple backticks for multi-line.
  * Use full API name (`tfds.core.DatasetBuilder` instead of `DatasetBuilder`)
  * Use `Args:`, `Returns:`, `Yields:`, `Attributes:`, `Raises:`

  Args:
    x: description

  Returns:
    y: description
  """

ইউনিট পরীক্ষা যোগ করুন এবং চালান

নিশ্চিত করুন যে নতুন বৈশিষ্ট্যগুলি ইউনিট-পরীক্ষার সাথে পরীক্ষা করা হয়েছে। আপনি ভিএস কোড ইন্টারফেস বা কমান্ড লাইনের মাধ্যমে পরীক্ষা চালাতে পারেন। এই ক্ষেত্রে:

pytest -vv tensorflow_datasets/core/

pytest vs unittest : ঐতিহাসিকভাবে, আমরা পরীক্ষা লিখতে unittest মডিউল ব্যবহার করে আসছি। নতুন পরীক্ষায় বিশেষভাবে pytest ব্যবহার করা উচিত যা আরও সহজ, নমনীয়, আধুনিক এবং সবচেয়ে বিখ্যাত লাইব্রেরি দ্বারা ব্যবহৃত হয় (numpy, pandas, sklearn, matplotlib, scipy, six,...)। আপনি pytest এর সাথে পরিচিত না হলে আপনি pytest গাইড পড়তে পারেন।

ডেটাসেট বিল্ডারদের জন্য পরীক্ষাগুলি বিশেষ এবং একটি ডেটাসেট যোগ করার জন্য গাইডে নথিভুক্ত করা হয়।

পর্যালোচনার জন্য পিআর পাঠান!

অভিনন্দন! পুল অনুরোধগুলি ব্যবহার করার বিষয়ে আরও তথ্যের জন্য GitHub সহায়তা দেখুন।