পাইটর্চ

পাইটর্চ () হলো একটি ওপেন-সোর্স মেশিন লার্নিং লাইব্রেরি যা ব্যবহার করা হয় কম্পিউটার দর্শন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং, ও ওরকম অনেক আর্টিফিশিয়াল ইন্টেলিজেন্স মতো কাজে।  এই সফটওয়্যারকে ডেভেলপ করা হয়েছিল অধিকাংশ ক্ষেত্রে ফেইসবুকের এ.ই. রিসার্চ ল্যাবে (FAIR)। ফ্র্যাম্বরকেটার প্রাথমিক প্রকাশ হয়েছিল সেপ্টেম্বর ২০১৬তে।

পাইটর্চে প্রোগ্রামের ব্যবহার বেশিরভাগ পাইথন ভাষাতে করা হয়, তবে  সি++ ভাষাতেও এটা করা যায়। জিনিসটি বেশিরভাগ ক্ষেত্রে ডিপ লার্নিংএর জন্য ব্যবহৃত হয়, তবে এমনি স্ট্যাটিসটিকাল মেশিন লেয়ার্নিংএর জন্য ও ব্যবহার করা যাই। বেশ কয়েকটা ডিপ লার্নিং ব্যবহৃত সফটওয়্যার এই লাইব্রেরিটার ব্যবহার করে যেমন টেসলার অটোপাইলট, উবেরের পাইরো, হাগিংফেসের ট্রান্সফর্মেরস, পাইটর্চের লাইটনিং, ও ক্যাটালিস্ট।

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

 ইতিহাস 
পাইতোরচের প্রথম "আলফা রিলিজ" ২০১৬-এর সেপ্টেম্বর মাসের প্রথম দিনে বার করা হয়। এই সময়ে এখনো এটা একটা পোর্ট ছিল মাত্র - লুয়া ভাষার "টৰ্চ" থেকে। ডিসেম্বর ২০১৮এ পাইটর্চের ১.০ ভার্সন টা রিলিজ হয়, এর আগে ছিল ভার্সন ০.৪ অবদি।

ফেসবুক পাইটর্চ ও কাফ্ফে২ (কনভোলুশনাল আর্কিটেকচার  ফর ফাস্ট ফীচার এম্বেডিং) দুটোই চালায়, কিন্তু দুটোর মধ্যে একের ওপারের "ল্যাঙ্গুয়েজে" ব্যবহার করতে পারতো না। ২০১৭ সেপ্টেম্বরএ ওপেন নিউরাল নেটওয়ার্ক এক্সচেঞ্জ প্রজেক্ট শুরু হলো ফেসবুক ও মাইক্রোসফটের সাথে যাতে একের মডেল আরেক ব্যবহৃত হয়। মার্চ ২০১৮ এ কাফ্ফে২ ও পাইটর্চ এক হয়ে যায়।

 লাইসেন্স 
পাইটর্চ একটা পরিবর্তিত বি এস দি লাইসেন্স ব্যবহার করে। তার মোতে কোনো এক অংশদাতা তার নিজের অবদানদের ওপর কপিরাইট রাখে।

 পাইটর্চ টেনসার 
পাইটর্চর প্রাথমিক ডাটা স্ট্রাকচার হলো "টেনসার" : যা নির্ধারণ করা হয় torch.tensor বলে। এতে বহুমাত্রিক শঙ্খের অ্যারে রাখা যায়, নাম্পাইয়ের অর্র্যায়ের মতন কিন্তু এনভিডিয়ার কুডা (CUDA) জিপিইউ (GPU) তে রাখা যায়, দ্রুত কাজকর্মের জন্য। বিভিন্ন ধরনের টেনসারকে পাইটর্চ রাখতে পারে।

 মডিউল 

 অটোগ্রাড মডিউল 
পাইটর্চ অটোমেটিক ডিফারেন্সিয়েশন ব্যবহার করে। অটোগ্রাড এটাকে সহজ করে দেয়: একটা রেকর্ডার দেখে কি কি অপারেশন করা হচ্ছে, ও তারপর পেছন করে গিয়ে গ্রেডিয়েন্ট (নতিমাত্রা) গণনা করে। এটা দিয়ে বিশেষ করে নিউরাল নেটওয়ার্ক বানানো একেক সহজ হয়ে যায়।

 অপ্টিম মডিউল 
torch.optim হলো একটি মডিউল যা অনেক "অপ্টিমাইজেশান এলগোরিদম" পরিণত করে, যা সাধারণত নিউরাল নেটওয়ার্ক বানানোর জন্য দরকার পরে। এমন কি নিজের বানাতে হয় না যথেরতো সময়ে, কারণ যা ব্যবহৃত হবে মটমটি পাওয়াই যায় পাইটর্চে।

 এন এন মডিউল 
যদিও পাইটর্চ অটোগ্রাড অনেক কাজ করে দেয় কম্পিউটেশনাল গ্রাফ বানাতে, তবুও কঠিন নিউরাল নেটওয়ার্কের জন্য অনেকেই দেখে যে শুধু ওটা বেশ কঠিন। তাই এর জন্য nn মডিউল টা দেওয়া হয় এই সব কাজের জন্য।

তথ্যসূত্র

বিষয়শ্রেণী:মুক্ত বিজ্ঞান সফটওয়্যার
বিষয়শ্রেণী:মুক্ত পাইথন সফটওয়্যার প্রোগ্রাম
বিষয়শ্রেণী:ফেসবুক সফটওয়্যার