with torch.no_grad()
ব্লকের সমস্ত ক্রিয়াকলাপের কোনও গ্রেডিয়েন্ট থাকবে না।
পাইটরঞ্চে, আপনি ডাব্লু 1 এবং ডাব্লু 2 এর অন্তর্নিহিত পরিবর্তন করতে পারবেন না, যা দুটি ভেরিয়েবলের সাথে হয় require_grad = True
। আমি মনে করি যে ডাব্লু 1 এবং ডাব্লু 2 এর অন্তর্ভুক্তি পরিবর্তন এড়ানো কারণ এটি পিছনের প্রচারের গণনায় ত্রুটি ঘটবে। যেহেতু স্থান পরিবর্তনটি পুরোপুরি ডাব্লু 1 এবং ডাব্লু 2 পরিবর্তন করবে।
তবে আপনি যদি এটি ব্যবহার করেন no_grad()
তবে নতুন ডাব্লু 1 এবং নতুন ডাব্লু 2 এর কোনও গ্রেডিয়েন্ট নেই যেহেতু সেগুলি ক্রিয়াকলাপ দ্বারা উত্পাদিত হয়েছে, যার অর্থ আপনি কেবলমাত্র ডাব্লু 1 এবং ডাব্লু 2 এর মান পরিবর্তন করেন, গ্রেডিয়েন্ট অংশ নয়, তাদের এখনও পূর্ববর্তী সংজ্ঞায়িত ভেরিয়েবল গ্রেডিয়েন্ট তথ্য রয়েছে এবং পিছনে প্রচার চালিয়ে যেতে পারে।