Save the date! Google I/O returns May 18-20 Register now
This page was translated by the Cloud Translation API.
Switch to English

টেনসরফ্লো কোডটিতে অবদান রাখুন

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

আপনি শুরু করার আগে

আপনি কোনও টেনসরফ্লো প্রকল্পে উত্স কোডটি অবদান রাখার আগে, দয়া করে প্রকল্পটির গিটহাব রেপোতে থাকা CONTRIBUTING.md ফাইলটি পর্যালোচনা করুন। (উদাহরণস্বরূপ, মূল টেনসরফ্লো রেপোর জন্য CONTRIBUTING.md ফাইলটি দেখুন)) সমস্ত কোড অবদানকারীদের একটি অবদানকারী লাইসেন্স চুক্তি (সিএলএ) স্বাক্ষর করতে হবে।

সদৃশ কাজ এড়াতে দয়া করে বর্তমান বা প্রস্তাবিত আরএফসিগুলি পর্যালোচনা করুন এবং আপনি একটি তুচ্ছ তাত্পর্যপূর্ণ বৈশিষ্ট্যটিতে কাজ শুরু করার আগে টেনসরফ্লো ফোরামের ( বিকাশকারীদের সাথে যোগ করুন ) নতুন কার্যকারিতা যুক্ত করার সিদ্ধান্ত নেওয়ার সময় আমরা কিছুটা নির্বাচনী এবং প্রকল্পটি অবদান এবং সহায়তা করার সর্বোত্তম উপায় হ'ল জ্ঞাত সমস্যাগুলিতে কাজ করা।

নতুন অবদানকারীদের জন্য ইস্যু

টেনসরফ্লো কোড বেসে প্রথম অবদানের জন্য অনুসন্ধান করার সময় নতুন অবদানকারীদের নিম্নলিখিত ট্যাগগুলি সন্ধান করা উচিত। আমরা দৃ strongly়ভাবে সুপারিশ করছি যে নতুন অবদানকারীরা প্রথমে "ভাল প্রথম ইস্যু" এবং "অবদানকে স্বাগত" প্রকল্পগুলি মোকাবেলা করুন; এটি কন্ট্রিবিউটরটিকে অবদানের কর্মপ্রবাহের সাথে পরিচিত হতে এবং মূল ডেভসটির জন্য অবদানকারীর সাথে পরিচিত হতে সহায়তা করে।

আপনি যদি একটি বড় আকারের সমস্যা বা একটি নতুন বৈশিষ্ট্য মোকাবেলায় সহায়তার জন্য একটি দল নিয়োগে আগ্রহী হন তবে দয়া করে বিকাশকারীদের @ গোষ্ঠীটিকে ইমেল করুন এবং আমাদের বর্তমান আরএফসি তালিকা পর্যালোচনা করুন।

কোড পূনর্বিবেচনা

কোড বৈশিষ্ট্যে নতুন বৈশিষ্ট্য, বাগ ফিক্স এবং অন্য কোনও পরিবর্তন কোড পর্যালোচনা সাপেক্ষে।

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

কোড পর্যালোচনা প্রক্রিয়া চলাকালীন কিছু প্রশ্ন মনে রাখা উচিত:

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

  • কোডটি কি মানব-পঠনযোগ্য? এটি কি অপ্রয়োজনে কম? পরিবর্তনশীল নামগুলি কি স্পষ্টতা বা ধারাবাহিকতার জন্য উন্নত করা উচিত? মন্তব্য যুক্ত করা উচিত? কোন মন্তব্য অপ্রয়োজনীয় বা বহিরাগত হিসাবে সরানো উচিত?

  • কোড কি কার্যকর? আরও দক্ষতার সাথে চালানোর জন্য কি সহজেই আবার লেখা যেতে পারে?

  • কোডটি পিছনের দিকে টেনসরফ্লো এর পূর্ববর্তী সংস্করণগুলির সাথে সামঞ্জস্যপূর্ণ ?

  • নতুন কোডটি অন্যান্য লাইব্রেরিতে নতুন নির্ভরতা যুক্ত করবে?

পরীক্ষা কভারেজ উন্নত করুন

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

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

প্রতিটি টেনসরফ্লো প্রকল্পে পরীক্ষার পদ্ধতির সুনির্দিষ্ট বিবরণের জন্য, README.md প্রকল্প README.md এবং CONTRIBUTING.md ফাইলগুলি দেখুন।

পর্যাপ্ত পরীক্ষায় বিশেষ উদ্বেগের বিষয়:

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

যদি আপনি কোনও সমস্যা পান তবে অনুগ্রহ করে এই সমস্যাগুলি বুঝতে এবং তাদের সমাধান করার জন্য অনুদানকারীকে সহায়তা করার বিষয়টি বিবেচনা করুন।

ত্রুটির বার্তা বা লগগুলি উন্নত করুন

আমরা ত্রুটি বার্তা এবং লগিং উন্নত অবদানগুলি স্বাগত জানাই।

অবদান কর্মপ্রবাহ

কোড অবদানসমূহ — বাগ সংশোধন, নতুন উন্নয়ন, পরীক্ষার উন্নতি — সমস্তই একটি গিটহাব কেন্দ্রিক কর্মপ্রবাহ অনুসরণ করে। টেনসরফ্লো বিকাশে অংশ নিতে, একটি গিটহাব অ্যাকাউন্ট সেট আপ করুন। তারপরে:

  1. আপনি যে রেপোটি নিয়ে কাজ করার পরিকল্পনা করছেন তা কাঁটা দিন। প্রকল্পের রেপো পৃষ্ঠায় যান এবং কাঁটাচামড়া বোতামটি ব্যবহার করুন। এটি আপনার ব্যবহারকারীর নাম অনুসারে রেপোর অনুলিপি তৈরি করবে। (কীভাবে কোনও সংগ্রহস্থল কাঁটাতে হবে সে সম্পর্কে আরও তথ্যের জন্য এই গাইডটি দেখুন))

  2. আপনার স্থানীয় সিস্টেমে রেপোটি ক্লোন করুন।

    $ git clone git@github.com:your-user-name/project-name.git

  3. আপনার কাজ ধরে রাখতে একটি নতুন শাখা তৈরি করুন।

    $ git checkout -b new-branch-name

  4. আপনার নতুন কোডে কাজ করুন। পরীক্ষা লিখুন এবং চালান।

  5. আপনার পরিবর্তন প্রতিশ্রুতিবদ্ধ।

    $ git add -A

    $ git commit -m "commit message here"

  6. আপনার পরিবর্তনগুলি আপনার গিটহাব রেপোতে চাপ দিন।

    $ git push origin branch-name

  7. একটি পুল অনুরোধ (PR) খুলুন। গিটহাবের মূল প্রকল্প রেপোতে যান। আপনার সাম্প্রতিক ধাক্কা দেওয়া শাখা সম্পর্কে একটি বার্তা থাকবে, আপনি যদি একটি টানার অনুরোধটি খুলতে চান কিনা তা জিজ্ঞাসা করে। অনুরোধগুলি অনুসরণ করুন, সংগ্রহস্থল জুড়ে তুলনা করুন এবং PR জমা দিন। এটি প্রতিশ্রুতিবদ্ধদের একটি ইমেল প্রেরণ করবে। আপনি আরও দৃশ্যমানতার জন্য মেলিং তালিকায় ইমেল প্রেরণ বিবেচনা করতে পারেন। (আরও তথ্যের জন্য, পিআরএস-তে গিটহাব গাইড দেখুন।

  8. রক্ষণাবেক্ষণকারী এবং অন্যান্য অবদানকারীরা আপনার PR টি পর্যালোচনা করবে। দয়া করে কথোপকথনে অংশ নিন এবং অনুরোধকৃত পরিবর্তনগুলি করার চেষ্টা করুন। পিআর অনুমোদিত হয়ে গেলে কোডটি মার্জ হয়ে যাবে।

আপনার পরবর্তী অবদান নিয়ে কাজ করার আগে , নিশ্চিত করুন যে আপনার স্থানীয় সংগ্রহস্থলটি আপ-ডেট।

  1. উজানের দূরবর্তী সেট করুন। (আপনাকে প্রতি প্রকল্পের জন্য একবার কেবল এটি করতে হবে, প্রতিবার নয়))

    $ git remote add upstream git@github.com:tensorflow/project-repo-name

  2. স্থানীয় মাস্টার শাখায় স্যুইচ করুন।

    $ git checkout master

  3. উপরের অংশ থেকে পরিবর্তনগুলি নীচে টানুন।

    $ git pull upstream master

  4. আপনার গিটহাব অ্যাকাউন্টে পরিবর্তনগুলি পুশ করুন। (Ptionচ্ছিক, তবে একটি ভাল অনুশীলন।)

    $ git push origin master

  5. আপনি যদি নতুন কাজ শুরু করে থাকেন তবে একটি নতুন শাখা তৈরি করুন।

    $ git checkout -b branch-name

অতিরিক্ত git এবং গিটহাব সংস্থানসমূহ:

অবদানকারী চেকলিস্ট