কিভাবে PyTorch এ 'torch.no_grad' ব্যবহার করবেন?

Kibhabe Pytorch E Torch No Grad Byabahara Karabena



একটি নিউরাল নেটওয়ার্কের স্তরগুলির জন্য গ্রেডিয়েন্টের গণনা PyTorch কাঠামোর একটি অন্তর্নির্মিত বৈশিষ্ট্য। ব্যাকওয়ার্ড পাসে গ্রেডিয়েন্ট গণনা করা হলে ব্যবহারকারীরা সন্নিহিত স্তরগুলির মধ্যে সংযোগ পরিমাপ করতে পারে। যাইহোক, এটি হার্ডওয়্যারের উপর প্রভাব ফেলে কারণ প্রচুর পরিমাণে ডেটা প্রক্রিয়া করতে হবে এবং এই ক্ষেত্রে, ' torch.no_grad ” পদ্ধতিটি যেখানে প্রয়োজন সেখানে গ্রেডিয়েন্ট গণনা বন্ধ করতে ব্যবহার করা যেতে পারে।

এই ব্লগে, আমরা আলোচনা করব কিভাবে ব্যবহার করতে হয় ' torch.no_grad ' PyTorch এ পদ্ধতি।

PyTorch এ 'torch.no_grad' পদ্ধতি কি?

দ্য ' torch.no_grad ” পদ্ধতিটি PyTorch উন্নয়নমূলক কাঠামোর মধ্যে প্রসঙ্গ পরিচালনার জন্য ব্যবহৃত হয়। এর উদ্দেশ্য হল গভীর শিক্ষার মডেলের পরবর্তী স্তরগুলির মধ্যে সংযোগের জন্য গ্রেডিয়েন্টের গণনা বন্ধ করা। এই পদ্ধতির উপযোগিতা হল যখন একটি নির্দিষ্ট মডেলে গ্রেডিয়েন্টের প্রয়োজন হয় না, তখন মডেলের প্রশিক্ষণ লুপের প্রক্রিয়াকরণের জন্য আরও হার্ডওয়্যার সংস্থান বরাদ্দ করতে তাদের অক্ষম করা যেতে পারে।







কিভাবে PyTorch এ “torch.no_grad” পদ্ধতি ব্যবহার করবেন?

PyTorch-এ পশ্চাৎপদ পাসের মধ্যে গ্রেডিয়েন্ট গণনা করা হয়। ডিফল্টরূপে, PyTorch-এ সমস্ত মেশিন লার্নিং মডেলের জন্য স্বয়ংক্রিয় পার্থক্য সক্রিয় করা হয়েছে। গ্রেডিয়েন্ট কম্পিউটেশন নিষ্ক্রিয় করা এমন ডেভেলপারদের জন্য অপরিহার্য, যাদের কাছে পর্যাপ্ত হার্ডওয়্যার প্রক্রিয়াকরণ সংস্থান নেই।



কীভাবে ব্যবহার করবেন তা শিখতে নীচের পদক্ষেপগুলি অনুসরণ করুন ' torch.no_grad ' PyTorch এ গ্রেডিয়েন্টের গণনা নিষ্ক্রিয় করার পদ্ধতি:







ধাপ 1: Colab IDE চালু করুন

Google Colaboratory হল PyTorch ফ্রেমওয়ার্ক ব্যবহার করে প্রোজেক্টের ডেভেলপমেন্টের জন্য একটি চমৎকার প্ল্যাটফর্মের পছন্দ কারণ এটির ডেডিকেটেড GPUs। কোলাবে যান ওয়েবসাইট এবং একটি খুলুন ' নতুন নোটবুক ' হিসাবে দেখানো হয়েছে:



ধাপ 2: টর্চ লাইব্রেরি ইনস্টল এবং আমদানি করুন

পাইটর্চের সমস্ত কার্যকারিতা ' টর্চ 'লাইব্রেরি। কাজ শুরু করার আগে এর ইনস্টলেশন এবং আমদানি অপরিহার্য। দ্য ' !পিপ 'পাইথনের ইনস্টলেশন প্যাকেজটি লাইব্রেরি ইনস্টল করার জন্য ব্যবহৃত হয় এবং এটি ব্যবহার করে প্রকল্পে আমদানি করা হয়' আমদানি 'আদেশ:

!পিপ টর্চ ইনস্টল করুন
আমদানি মশাল

ধাপ 3: গ্রেডিয়েন্ট সহ একটি পাইটর্চ টেনসর সংজ্ঞায়িত করুন

' ব্যবহার করে প্রকল্পে একটি PyTorch টেনসর যোগ করুন torch.tensor() 'পদ্ধতি। তারপর, এটি ব্যবহার করে একটি বৈধ গ্রেডিয়েন্ট দিন requires_grad=সত্য ' পদ্ধতিটি নীচের কোডে দেখানো হয়েছে:

A = torch.tensor([5.0], requires_grad=True)

ধাপ 4: গ্রেডিয়েন্ট সরাতে 'torch.no_grad' পদ্ধতি ব্যবহার করুন

এর পরে, ' ব্যবহার করে পূর্বে সংজ্ঞায়িত টেনসর থেকে গ্রেডিয়েন্টটি সরান torch.no_grad 'পদ্ধতি:

torch.no_grad() সহ:
B = A**2 + 16

উপরের কোডটি নিম্নরূপ কাজ করে:

  • দ্য ' no_grad() একটি 'এর ভিতরে ' পদ্ধতি ব্যবহার করা হয় সঙ্গে ' লুপ.
  • লুপের মধ্যে থাকা প্রতিটি টেনসরের গ্রেডিয়েন্ট সরানো হয়েছে।
  • সবশেষে, পূর্বে সংজ্ঞায়িত টেনসর ব্যবহার করে একটি নমুনা গাণিতিক গণনা সংজ্ঞায়িত করুন এবং এটিকে ' ' ভেরিয়েবল উপরে দেখানো হিসাবে:

ধাপ 5: গ্রেডিয়েন্ট অপসারণ যাচাই করুন

শেষ ধাপ হল এইমাত্র যা করা হয়েছে তা যাচাই করা। টেনসর থেকে গ্রেডিয়েন্ট ' ' অপসারণ করা হয়েছে এবং এটি ব্যবহার করে আউটপুটে চেক করা আবশ্যক ছাপা() 'পদ্ধতি:

মুদ্রণ ('টর্চের সাথে গ্রেডিয়েন্ট কম্পিউটেশন
মুদ্রণ ('\nআসল টেনসর: ', ক)
মুদ্রণ('\nনমুনা পাটিগণিত গণনা: ', B)

উপরের কোডটি নিম্নরূপ কাজ করে:

  • দ্য ' স্নাতক 'পদ্ধতি আমাদের টেনসরের গ্রেডিয়েন্ট দেয়' ” এটি নীচের আউটপুটে কিছুই দেখায় না কারণ গ্রেডিয়েন্টটি ' ব্যবহার করে সরানো হয়েছে torch.no_grad 'পদ্ধতি।
  • আসল টেনসর এখনও দেখায় যে এটির গ্রেডিয়েন্ট রয়েছে যেমনটি ' requires_grad=সত্য 'আউটপুটে বিবৃতি।
  • অবশেষে, নমুনা গাণিতিক গণনা পূর্বে সংজ্ঞায়িত সমীকরণের ফলাফল দেখায়:

বিঃদ্রঃ : আপনি এখানে আমাদের Colab নোটবুক অ্যাক্সেস করতে পারেন লিঙ্ক .

প্রো-টিপ

দ্য ' torch.no_grad ” পদ্ধতিটি আদর্শ যেখানে গ্রেডিয়েন্টের প্রয়োজন হয় না বা যখন হার্ডওয়্যারের প্রসেসিং লোড কমানোর প্রয়োজন হয়। এই পদ্ধতির আরেকটি ব্যবহার অনুমান করার সময় কারণ মডেলটি শুধুমাত্র নতুন ডেটার উপর ভিত্তি করে ভবিষ্যদ্বাণী করার জন্য ব্যবহৃত হয়। যেহেতু কোনও প্রশিক্ষণ জড়িত নেই, তাই গ্রেডিয়েন্টের গণনাকে কেবল অক্ষম করা সম্পূর্ণ বোধগম্য।

সফলতার ! আমরা আপনাকে দেখিয়েছি কিভাবে PyTorch-এ গ্রেডিয়েন্ট নিষ্ক্রিয় করতে “torch.no_grad” পদ্ধতি ব্যবহার করতে হয়।

উপসংহার

ব্যবহার ' torch.no_grad PyTorch-এ একটি পদ্ধতির মধ্যে এটি সংজ্ঞায়িত করে সঙ্গে লুপ এবং এর মধ্যে থাকা সমস্ত টেনসরের গ্রেডিয়েন্ট মুছে ফেলা হবে। এটি প্রক্রিয়াকরণের গতিতে উন্নতি আনবে এবং প্রশিক্ষণ লুপের মধ্যে গ্রেডিয়েন্ট জমা হওয়া রোধ করবে। এই ব্লগে, আমরা প্রদর্শন করেছি কিভাবে এটি ' torch.no_grad ' পদ্ধতিটি PyTorch-এ নির্বাচিত টেনসরগুলির গ্রেডিয়েন্টগুলি নিষ্ক্রিয় করতে ব্যবহার করা যেতে পারে৷