كيفية الحصول على أوزان طبقة النموذج في PyTorch؟

Kyfyt Alhswl Ly Awzan Tbqt Alnmwdhj Fy Pytorch



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

في هذه المدونة، سيتم التركيز على كيفية الحصول على أوزان طبقة النموذج في PyTorch.

ما هي أوزان الطبقة النموذجية في PyTorch؟

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







كيفية الحصول على أوزان طبقة النموذج في PyTorch؟

ال ' الأوزان 'من الطبقة يتم تخزينها في قاموس بايثون واستخدام بناء الجملة' State_dict() '. يتم استخدام القاموس لاستدعاء الأوزان باستخدام الخطوات التالية:



الخطوة 1: افتح Colab IDE

سيبدأ هذا البرنامج التعليمي باختيار IDE للمشروع. اذهب إلى التعاونية موقع إلكتروني وابدأ ' دفتر جديد 'لبدء العمل:







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

بعد إعداد دفتر Colab، ' ثَبَّتَ ' و ' يستورد ” المكتبات التي تغطي جميع الوظائف المطلوبة في المشروع:

! نقطة تثبيت الشعلة

يستورد شعلة

يستورد com.torchvision. عارضات ازياء

الكود أعلاه يعمل على النحو التالي:



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

الخطوة 3: استيراد نموذج ResNet

في هذا البرنامج التعليمي، ' ريسنيت50 'يتم استخدام نموذج الشبكة العصبية الذي يحتوي على 50 طبقة موجودة في مكتبة torchvision للعرض التوضيحي. قم باستيراد النموذج المُدرب مسبقًا كما هو موضح:

Sample_model = com.torchvision. عارضات ازياء . خطيرة50 ( مدربين مسبقا = حقيقي )

الخطوة 4: تحديد طبقة النموذج

حدد اسم طبقة النموذج واستخدم ' State_dict() ” طريقة الحصول على أوزانها كما هو موضح :

Sample_layer_name = 'layer2.0.conv1'

Sample_layer_weights = Sample_model. State_dict ( ) [ Sample_layer_name + '.وزن' ]

مطبعة ( 'أوزان الطبقة: ' , Sample_layer_weights. شكل )

الكود أعلاه يعمل على النحو التالي:

  • تم تعيين الطبقة الملتوية الثانية لنموذج ResNet50 إلى ' Sample_layer_name ' عامل.
  • ثم '' State_dict() 'يتم استخدام الطريقة مع' Sample_model 'المتغير وتم تعيينهم إلى' Sample_layer_weights ' عامل.
  • ال ' Sample_layer_name ' و ال ' .وزن 'تتم إضافتها كوسائط لـ ' State_dict() 'طريقة للحصول على الأوزان.
  • وأخيرًا، استخدم ' مطبعة() 'طريقة لعرض أوزان الطبقة كمخرج:

يوضح الناتج أدناه أننا حصلنا على أوزان الطبقة النموذجية في Pytorch:

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

نصيحة محترف

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

نجاح! لقد أظهرنا كيفية الحصول على أوزان طبقة نموذج PyTorch.

خاتمة

احصل على أوزان طبقة النموذج في PyTorch باستخدام ملف 'state_dict() ' بعد استيراد نموذج من torchvision أو استخدام نموذج مخصص. أوزان طبقة النموذج هي المعلمات القابلة للتعلم والتي يتم تحديثها باستمرار أثناء التدريب وفهرسة تقدمها. لقد أظهرنا في هذه المقالة كيفية استيراد نموذج ResNet50 من torchvision والحصول على أوزان الطبقة الملتوية الثانية.