এটি স্বয়ংক্রিয় পার্থক্য ব্যবহার করে। যেখানে এটি চেইন বিধি ব্যবহার করে এবং গ্রাডিয়েন্টগুলি বরাদ্দ করে গ্রাফের ব্যাকওয়ার্ডে যায়।
ধরা যাক আমাদের একটি টেনসর সি রয়েছে এই টেনসর সি ধারাবাহিক ক্রিয়াকলাপের পরে তৈরি করেছে চলুন যাক, যোগ করা, গুণ করা, কিছু অরৈখিকতার মধ্য দিয়ে যাওয়া ইত্যাদি say
সুতরাং যদি এই সি Xk নামক কয়েকটি টেনারগুলির উপর নির্ভর করে তবে আমাদের গ্রেডিয়েন্টগুলি পাওয়া দরকার
টেনসরফ্লো সর্বদা অপারেশনের পথ অনুসরণ করে। আমি নোডগুলির ক্রমিক আচরণ এবং তাদের মধ্যে কীভাবে ডেটা প্রবাহিত করব তা বোঝাতে চাই। গ্রাফ দ্বারা এটি করা হয়
যদি আমাদের প্রথমে ব্যয় আর্ট এক্স ইনপুটগুলির ডেরাইভেটিসগুলি পেতে হয় তবে এটি গ্রাফটি প্রসারিত করে এক্স-ইনপুট থেকে ব্যয়ের পথে পথটি লোড করে।
তারপরে এটি শুরু হয় নদীর ক্রমে। তারপরে গ্রেডিয়েন্টগুলি চেইন বিলের সাথে বিতরণ করুন। (ব্যাকপ্রোপেশন হিসাবে একই)
যে কোনও উপায়ে যদি আপনি উত্স কোডগুলি tf.gradient () এর অন্তর্ভুক্ত পড়ে থাকেন তবে আপনি দেখতে পাবেন যে টেনস্রফ্লো এই গ্রেডিয়েন্ট বিতরণ অংশটি একটি দুর্দান্ত উপায়ে করেছে।
Tf গ্রাফের সাথে ইন্টারঅ্যাক্ট করার সময়, ব্যাকওয়ার্ড পাসে টিএফ বিভিন্ন নোডের সাথে দেখা করবে এই নোডগুলির মধ্যে এমন ক্রিয়াকলাপ রয়েছে যা আমরা কল করি (ওপস) ম্যাটমল, সফটম্যাক্স, রিলু, ব্যাচ_নরমালাইজেশন ইত্যাদি। সুতরাং আমরা টিএফ যা করি তা হ'ল স্বয়ংক্রিয়ভাবে এই অপ্সগুলিকে লোড করে দেয় চিত্রলেখ
এই নতুন নোডটি অপারেশনগুলির আংশিক ডেরাইভেটিভ রচনা করে। get_gradient ()
আসুন এই নতুন যুক্ত নোডগুলি সম্পর্কে কিছুটা কথা বলি
এই নোডগুলির অভ্যন্তরে আমরা 2 টি জিনিস যুক্ত করি
সুতরাং চেইন বিধি দ্বারা আমরা গণনা করতে পারি
সুতরাং এটি একটি ব্যাকওয়ার্ড এপিআই এর মত একই
সুতরাং টেনসরফ্লো সর্বদা স্বয়ংক্রিয় পার্থক্য করতে গ্রাফের ক্রম সম্পর্কে চিন্তা করে
আমরা যেমন জানি যে গ্রেডিয়েন্টগুলি গণনা করতে আমাদের ফরোয়ার্ড পাসের ভেরিয়েবলগুলি দরকার তখন আমাদের মধ্যবর্তী মানগুলি টেনসরগুলিতেও সংরক্ষণ করতে হবে এটি স্মৃতিশক্তি হ্রাস করতে পারে অনেক ক্রিয়াকলাপের জন্য tf জানেন কিভাবে গ্রেডিয়েন্টগুলি গণনা করতে এবং সেগুলি বিতরণ করতে হয়।