شرح تفصيلي – Torch.max

في كثير من الاحيان عند بناء اي شبكة عصبية نحتاج نستخدم torch.max وهي باختصار انه نجيب اعلى رقم. مثلا تخيل انشات مودل model وناتج التوقع prediction كان اكثر من قيمة. فانت تبغى تجيب اعلى قيمة لانها الاقرب للتوقع الصحيح وهكذا. لكن التحدي انه احنا لازم نحدد dimension وفيه لغط كثير على فهم هذا الموضوع فانصحك تشوف مقالة كيفية التعامل مع الابعاد من هنا . نشوف الكود التالي:
مثل ما نرى انشات مصفوفة حجمها ٢ على ٣ بشكل عشوائي يعني كل مرة ننفذ الكود حتطلع لنا ارقام مختلفة. الان السؤال لو نفذنا الكود التالي:

ماهي النتيجة المتوقعة ولماذا؟

نلاحظ عندي paramter اسمه dim نسبة الى dimnsion. هذا نفس الكلام ينطبق على axeis في numpy لان الفكرة وحدة.

حتشوف تعريفات كثيرة جدا جدا في الانترنت ممكن تلخبطك وتضيع الفكرة. وممكن بعضها الى الان راسخ في بالك مثلا يقولك اذا كان dim = 0 معناه اجمع الصفوف واذا كان dim = 1 معناه اجمع الاعمدة. وفيه تعاريف اخرى يقولك لا هذا يقصد جميع row-elemnt wise وما الى اخره.

في الصورة التالية لخصت لك المفهوم بشكل مبسط جدا وتقدر بنفسك تجربه وتطبقه في اي مكان حيعطيك النتايج الصحيحة. فما حاتطرق واقولك لماذا بعض التعاريف خطأ او كيف فهمت خطأ لان الاهم عندنا انه نفهم الفكرة وتعرف الطريقة الصحيحة.

نشوف الصورة التالية:
اتبع الشرح في الصورة بالضبط. والان نشوف الكود:
نلاحظ جاب لنا اعلا القيم بناء على البعد dimension الذي حددناه. وايضا نلاحظ انه جاب لي ال index المقابل له. وهذا حيفيدنا كثير في حال اردنا ان ننفذ اي شي اخر او نستخدمه لمعرفة مكان التوقع الصحيح. يعني بالمختصر يعطيني تحكم اوصل للعنصر بسهولة وحنشوف هذا في التطبيقات العملية القادمة. لمتابعة الفديو الخاص بالمقالة، الرجاء الضغط هنا

ان اصبت فمن الله وان اخطات فمن نفسي .. لا تنسى مشاركة المقالة اذا أعجبتك .. اخوكم رائد الحربي
ولاي ملاحضات او استفسارات يرجى مراسلتي على تويتر @raedalharbi14 أو كتابة التعليق هنا
انتقل الى الدرس التالي
انتقل الى الدرس السابق

Leave a Reply

Your email address will not be published.