كيف تعمل طريقة 'المسح العشوائي' في PyTorch؟

Kyf T Ml Tryqt Almsh Al Shwayy Fy Pytorch



تعود فعالية إطار عمل PyTorch في تطوير نماذج التعلم الآلي المعقدة والحديثة إلى مجموعته الواسعة من الميزات المعززة و' محو عشوائي 'الطريقة هي واحدة منها. وكما يوحي الاسم، فهو يختار صورة بشكل عشوائي ويزيل جزءًا من بياناتها لتقليد موقف العالم الحقيقي حيث يتم تقديم بيانات غير كاملة. يؤدي ذلك إلى تحسين قدرة النموذج على التكيف والأداء الجيد في المواقف الجديدة والصعبة.

ستناقش هذه المدونة كيفية ' محو عشوائي تعمل الطريقة في PyTorch.

لماذا يتم استخدام طريقة 'المسح العشوائي' في PyTorch؟

تمثل الإزالة العشوائية للبيانات من الصور مشكلة في تدريب نماذج تحليل الصور لأنها تضطر إلى التكيف مع البيانات غير الكافية. يؤدي هذا إلى إعداد نموذج لمهام العالم الحقيقي حيث لا تكون البيانات الكاملة موجودة دائمًا. يصبح النموذج أفضل بكثير في القدرة على استخلاص استنتاجات من جميع أنواع البيانات وإدارة عرض النتائج. يتم اختيار وحدات البكسل المراد إزالتها بشكل عشوائي، لذا لا يوجد أي تحيز ويتم استخدام الصورة الناتجة كبيانات إدخال أثناء التدريب.







كيف تعمل طريقة 'المسح العشوائي' في PyTorch؟

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



الخطوة 1: إعداد IDE التعاوني

يعد Google Colab خيارًا مثاليًا لتطوير نماذج الذكاء الاصطناعي باستخدام إطار عمل PyTorch. انتقل إلى التعاونية موقع إلكتروني وإطلاق ' دفتر جديد ':







الخطوة 2: استيراد المكتبات الضرورية

استخدم ال ' !pip 'مثبت الحزمة المقدم من Python لتثبيت المكتبات واستخدام' يستورد 'الأمر لاستيرادها إلى المشروع:

يستورد شعلة

يستورد com.torchvision. يتحول مثل نهاية الخبر

من بيل يستورد صورة

يستورد matplotlib. pyplot مثل معاهدة قانون البراءات

وصف الكود المحدد هو كما يلي:



  • استيراد ' شعلة 'المكتبة باستخدام' يستورد ' يأمر.
  • ال ' torchvision.transforms تحتوي الحزمة على تحويلات للمسح العشوائي.
  • ' بيل 'هي مكتبة صور بايثون وتحتوي على وظيفة معالجة الصور.
  • ال ' matplotlib.pyplot تُستخدم المكتبة لتصور الصور الأصلية والمحولة:

الخطوة 3: تحميل صورة الإدخال

قم بتحميل الصورة في قسم الملفات:

بعد ذلك، قم بتحميل صورة الإدخال باستخدام ' يفتح() 'طريقة وحدة 'الصورة':

صورة = صورة. يفتح ( 'a2.jpeg' )

الخطوة 4: حدد التحويل لتنفيذ التحويلات

الآن قم بتحديد ' مسح عشوائي 'المحول الذي سيقوم بتحويل الصورة عن طريق تحديد منطقتها المستطيلة العشوائية ومسح وحدات البكسل الخاصة بها. بالإضافة إلى ذلك، قم بتحويل صورة الإدخال إلى مستشعر الشعلة باستخدام ' توتينسور () ' إذا كانت صورة PIL ثم قم بتحويلها مرة أخرى إلى صورة PIL عبر ' توبيليماج() ':

تحول = نهاية الخبر. مؤلف موسيقى ( [ نهاية الخبر. ToTensor ( ) , نهاية الخبر. مسح عشوائي ( ص = 0.5 , حجم = ( 0.02 , 0.33 ) , نسبة = ( 0.3 , 3.3 ) , قيمة = 0 , في المكان = خطأ شنيع ) , نهاية الخبر. ToPIILImage ( ) ] )

المعلمات المستخدمة في ما سبق ' مسح عشوائي 'يتم شرح المحول أدناه:

  • ص: إنه يمثل احتمالية تحقيق عملية الرفع العشوائي.
  • حجم: يشير إلى نطاق المنطقة المحذوفة من الصورة المدخلة.
  • نسبة: إنه يشير إلى نسبة العرض إلى الارتفاع للمنطقة التي تم مسحها.
  • قيمة: وهو يحدد قيمة المسح وهي '0' بشكل افتراضي. إذا كان عددًا صحيحًا واحدًا فإنه يزيل جميع وحدات البكسل، وإذا كان صفًا يحتوي على ثلاثة أعداد صحيحة فإنه يزيل قنوات R وG وB على التوالي.
  • في المكان: إنها قيمة 'منطقية' تجعل محول المسح العشوائي المحدد في مكانه. بشكل افتراضي، هو 'كاذب'.

الخطوة 5: استخدم فهم القاموس لالتقاط الصور الناتجة

استخدم مفهوم فهم القاموس لالتقاط الصور الناتجة الأربعة:

الصور = [ تحول ( صورة ) ل _ في يتراوح ( 4 ) ]

الخطوة 6: اعرض صور الإخراج الأربعة

وأخيرًا، قم بعرض الصور الأربعة الناتجة بمساعدة كتلة التعليمات البرمجية المذكورة أدناه:

تين = معاهدة قانون البراءات. شكل ( com.Figsize = ( 7 , 4 ) )

صفوف , كولز = 2 , 2

ل ي في يتراوح ( 0 , فقط ( الصور ) ) :

تين. add_subplot ( صفوف , كولز , ي+ 1 )

معاهدة قانون البراءات. com.imshow ( الصور [ ي ] )

معاهدة قانون البراءات. com.xticks ( [ ] )

معاهدة قانون البراءات. yticks ( [ ] )

معاهدة قانون البراءات. يعرض ( )

وصف الكود أعلاه هو كما يلي:

  • تطبيق ' بلت. الشكل () طريقة لرسم الصور الأربع بالعرض والارتفاع المحددين.
  • ثم قم بتحديد صفوف وأعمدة محددة لضبط الصور الأربع.
  • بعد ذلك، قم بتهيئة حلقة 'for' التي تطبق ' مؤامرة فرعية () 'طريقة تحديد الحبكة الفرعية، وطريقة 'show()' لإظهار الصور، وطريقة ' بلت.xticks() ' إلى جانب ' بلت.yticks() ' لتعيين موقع التجزئة الحالي وتسميات المحورين x وy.
  • وأخيرًا، استخدم ' عرض بلت () 'طريقة طباعة الصور لإخراجها:

ملحوظة : يمكن للمستخدمين الوصول إلى Colab Notebook الخاص بنا باستخدام الملف المتوفر وصلة .

نصيحة محترف

أحد الاستخدامات الرئيسية لـ ' محو عشوائي 'الطريقة في مشاريع PyTorch هي الأمان. ويمكن استخدامه لإزالة وحدات البكسل من الصور الحساسة مثل تلك التي تحتوي على بعض الأسرار التجارية أو أي شيء آخر ذي قيمة. لن تكون الوظيفة العشوائية المحددة لهذا المسح معروفة إلا للمستخدم الأصلي ولن يتمكن سوى المستخدم من استعادة الصور المحذوفة إلى نسختها الأصلية.

نجاح! لقد أظهرنا كيف تعمل طريقة المسح العشوائي في PyTorch.

خاتمة

ال ' محو عشوائي تعمل الطريقة في PyTorch عن طريق إزالة وحدات البكسل العشوائية من الصورة ومحاكاة سيناريو العالم الحقيقي من أجل تدريب النموذج بشكل أفضل. وهذا سيجعل النموذج أكثر مهارة في التعامل مع أنواع مختلفة من البيانات لاستخلاص استنتاجات الجودة من البيانات غير المكتملة. لقد أوضحنا كيفية استخدام ' محو عشوائي 'الطريقة في PyTorch.