TensorFlow ডকুমেন্টেশন শৈলী গাইড

সেরা অনুশীলন

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

মার্কডাউন

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

কোড সম্পর্কে লিখুন

কোডের ইনলাইন উল্লেখ

টেক্সটে ব্যবহার করার সময় নিম্নলিখিত চিহ্নগুলির চারপাশে `backticks` রাখুন:

  • আর্গুমেন্টের নাম: `input` , `x` , `tensor`
  • ফেরানো টেনসরের নাম: `output` , `idx` , `out`
  • ডেটা প্রকার: `int32` , `float` , `uint8`
  • টেক্সটে অন্যান্য অপের নামের রেফারেন্স: `list_diff()` , `shuffle()`
  • ক্লাসের নাম: `tf.Tensor` , `Strategy`
  • ফাইলের নাম: `image_ops.py` , `/path_to_dir/file_name`
  • গণিত অভিব্যক্তি বা শর্তাবলী: `-1-input.dims() <= dim <= input.dims()`

কোড ব্লক

একটি কোড ব্লক খুলতে এবং বন্ধ করতে তিনটি ব্যাকটিক ব্যবহার করুন। ঐচ্ছিকভাবে, প্রথম ব্যাকটিক গ্রুপের পরে প্রোগ্রামিং ভাষা নির্দিষ্ট করুন, উদাহরণস্বরূপ:


```python
# some python code here
```

একটি একক GitHub সংগ্রহস্থলে ফাইলগুলির মধ্যে আপেক্ষিক লিঙ্কগুলি ব্যবহার করুন। ফাইল এক্সটেনশন অন্তর্ভুক্ত করুন।

উদাহরণস্বরূপ, এই ফাইলটি আপনি পড়ছেন https://github.com/tensorflow/docs সংগ্রহস্থল থেকে। অতএব, এটি একই রিপোজিটরিতে অন্যান্য ফাইলের সাথে লিঙ্ক করার জন্য আপেক্ষিক পাথ ব্যবহার করতে পারে:

  • [Basics](../../guide/basics.ipynb) বেসিক তৈরি করে।

এটি পছন্দের পদ্ধতি কারণ এইভাবে tensorflow.org , GitHub এবং Colab- এর লিঙ্কগুলি সব কাজ করে। এছাড়াও, পাঠক একটি লিঙ্কে ক্লিক করলে একই সাইটে থাকে।

বর্তমান সংগ্রহস্থলে নেই এমন ফাইলগুলির লিঙ্কগুলির জন্য, সম্পূর্ণ URI সহ স্ট্যান্ডার্ড মার্কডাউন লিঙ্কগুলি ব্যবহার করুন৷ tensorflow.org URI পাওয়া গেলে লিঙ্ক করতে পছন্দ করুন।

সোর্স কোডে লিঙ্ক করতে, https://www.github.com/tensorflow/tensorflow/blob/master/ দিয়ে শুরু হওয়া একটি লিঙ্ক ব্যবহার করুন, তারপর GitHub রুট থেকে শুরু হওয়া ফাইলের নামটি ব্যবহার করুন৷

tensorflow.org বন্ধ করার সময়, মার্কডাউন লিঙ্কে একটি {:.external} অন্তর্ভুক্ত করুন যাতে "বাহ্যিক লিঙ্ক" চিহ্নটি দেখানো হয়।

  • [GitHub](https://github.com/tensorflow/docs){:.external} GitHub তৈরি করে

লিঙ্কে URI ক্যোয়ারী প্যারামিটার অন্তর্ভুক্ত করবেন না:

  • ব্যবহার করুন: <a href="https://www.tensorflow.org/guide/data">https://www.tensorflow.org/guide/data</a>
  • নয়: <a href="https://www.tensorflow.org/guide/data?hl=en">https://www.tensorflow.org/guide/data?hl=en</a>

ছবি

পূর্ববর্তী বিভাগে পরামর্শ পেজ লিঙ্ক জন্য. ছবি ভিন্নভাবে পরিচালনা করা হয়.

সাধারণত, আপনার ইমেজ চেক করা উচিত নয়, এবং পরিবর্তে আপনার PR-এ TensorFlow-Docs টিম যোগ করা উচিত এবং তাদের tensorflow.org- এ ছবিগুলি হোস্ট করতে বলা উচিত। এটি আপনার সংগ্রহস্থলের আকার কম রাখতে সাহায্য করে।

আপনি যদি আপনার সংগ্রহস্থলে ছবি জমা দেন, মনে রাখবেন কিছু সিস্টেম ইমেজের আপেক্ষিক পাথ পরিচালনা করে না। tensorflow.org- এ ছবিটির ঘটনাস্থল নির্দেশ করে একটি সম্পূর্ণ URL ব্যবহার করতে পছন্দ করুন।

সাইট প্রকাশিত হলে API লিঙ্কগুলি রূপান্তরিত হয়। একটি প্রতীকের API রেফারেন্স পৃষ্ঠাতে লিঙ্ক করতে, ব্যাকটিক্সে প্রতীক পথটি আবদ্ধ করুন:

দীর্ঘ পথ ব্যতীত সম্পূর্ণ পাথগুলি সামান্য পছন্দ করা হয়। অগ্রণী পাথ উপাদানগুলি বাদ দিয়ে পাথগুলিকে সংক্ষিপ্ত করা যেতে পারে। আংশিক পথগুলিকে লিঙ্কে রূপান্তর করা হবে যদি:

  • অন্তত একটি আছে . পথে, এবং
  • আংশিক পথটি প্রকল্পের মধ্যে অনন্য।

tensorflow.org- এ প্রকাশিত Python API-এর সাথে প্রতিটি প্রোজেক্টের জন্য API পাথ লিঙ্ক করা হয়েছে। আপনি সহজেই একটি ফাইল থেকে একাধিক সাবপ্রজেক্টের সাথে এপিআই নামগুলি ব্যাকটিক্স দিয়ে মোড়ানোর মাধ্যমে লিঙ্ক করতে পারেন। উদাহরণ স্বরূপ:

একাধিক পাথ উপনাম সহ চিহ্নগুলির জন্য tensorflow.org- এর API-পৃষ্ঠার সাথে মেলে এমন পাথের জন্য সামান্য পছন্দ রয়েছে। সমস্ত উপনাম সঠিক পৃষ্ঠায় পুনঃনির্দেশিত হবে।

মার্কডাউনে গণিত

মার্কডাউন ফাইল সম্পাদনা করার সময় আপনি TensorFlow-এর মধ্যে MathJax ব্যবহার করতে পারেন, কিন্তু নিম্নলিখিতগুলি নোট করুন:

  • MathJax সঠিকভাবে tensorflow.org এ রেন্ডার করে।
  • MathJax GitHub এ সঠিকভাবে রেন্ডার করে না।
  • এই স্বরলিপি অপরিচিত ডেভেলপারদের জন্য অফ-পুটিং হতে পারে।
  • সামঞ্জস্যের জন্য tensorflow.org জুপিটার/কোলাবের মতো একই নিয়ম অনুসরণ করে।

MathJax এর একটি ব্লকের চারপাশে $$ ব্যবহার করুন:

$$
E=\frac{1}{2n}\sum_x\lVert (y(x)-y'(x)) \rVert^2
$$

\[ E=\frac{1}{2n}\sum_x\lVert (y(x)-y'(x)) \rVert^2 \]

ইনলাইন ম্যাথজ্যাক্স এক্সপ্রেশনকে $ ... $ দিয়ে মোড়ানো:


This is an example of an inline MathJax expression: $ 2 \times 2 = 4 $

এটি একটি ইনলাইন MathJax এক্সপ্রেশনের একটি উদাহরণ: \( 2 \times 2 = 4 \)

\\( ... \\) ডিলিমিটারগুলি ইনলাইন গণিতের জন্যও কাজ করে, কিন্তু $ ফর্ম কখনও কখনও আরও পাঠযোগ্য হয়।

গদ্যশৈলী

আপনি যদি বর্ণনামূলক ডকুমেন্টেশনের উল্লেখযোগ্য অংশ লিখতে বা সম্পাদনা করতে যাচ্ছেন, অনুগ্রহ করে Google ডেভেলপার ডকুমেন্টেশন স্টাইল গাইড পড়ুন।

ভাল শৈলী নীতি

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

ব্যবহার নির্দেশিকা

অপ্স

মার্কডাউন ফাইলগুলিতে, একটি একক সমান চিহ্নের পরিবর্তে # ⇒ ব্যবহার করুন যখন আপনি একটি অপ রিটার্ন করে তা দেখাতে চান।

# 'input' is a tensor of shape [2, 3, 5]
tf.expand_dims(input, 0)  # ⇒ [1, 2, 3, 5]

নোটবুকগুলিতে, একটি মন্তব্য যোগ করার পরিবর্তে ফলাফলটি প্রদর্শন করুন (যদি একটি নোটবুক কক্ষের শেষ অভিব্যক্তিটি একটি ভেরিয়েবলে বরাদ্দ না করা হয় তবে এটি স্বয়ংক্রিয়ভাবে প্রদর্শিত হয়৷)

API রেফারেন্সে ডক্স ফলাফল দেখানোর জন্য ডক্টেস্ট ব্যবহার করতে পছন্দ করে।

টেনসর

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

একাধিক Tensor অবজেক্ট বর্ণনা করতে টেনসর (বহুবচন) শব্দটি ব্যবহার করবেন না যদি না আপনি সত্যিই একটি Tensors বস্তুর কথা বলছেন। পরিবর্তে, " Tensor বস্তুর একটি তালিকা (বা সংগ্রহ)" বলুন।

একটি টেনসরের অক্ষের বিস্তারিত জানার জন্য আকৃতি শব্দটি ব্যবহার করুন এবং ব্যাকটিক্স সহ বর্গাকার বন্ধনীতে আকারটি দেখান। উদাহরণ স্বরূপ:


If `input` is a three-axis `Tensor` with shape `[3, 4, 3]`, this operation
returns a three-axis `Tensor` with shape `[6, 8, 6]`.

উপরের মত, Tensor আকৃতির উপাদান সম্পর্কে কথা বলার সময় "মাত্রা" এর চেয়ে "অক্ষ" বা "সূচী" পছন্দ করুন। অন্যথায় একটি ভেক্টর স্থানের মাত্রার সাথে "মাত্রা" বিভ্রান্ত করা সহজ। একটি "ত্রিমাত্রিক ভেক্টর" এর দৈর্ঘ্য 3 সহ একটি একক অক্ষ রয়েছে।