لرسم بياني لقيم الدقة والفقدان لنموذج مدرب في مجال التعلم العميق ، يمكننا استخدام تقنيات وأدوات مختلفة متاحة في Python و PyTorch. تعد مراقبة قيم الدقة والخسارة أمرًا بالغ الأهمية لتقييم أداء نموذجنا واتخاذ قرارات مستنيرة بشأن تدريبه وتحسينه. في هذه الإجابة ، سوف نستكشف طريقتين شائعتين: استخدام مكتبة Matplotlib واستخدام أداة التصور TensorBoard.
1. الرسوم البيانية باستخدام Matplotlib:
Matplotlib هي مكتبة تخطيط شهيرة في Python تسمح لنا بإنشاء مجموعة واسعة من التصورات ، بما في ذلك الرسوم البيانية للدقة والخسارة. لرسم بياني لقيم الدقة والفقدان لنموذج مُدرب ، نحتاج إلى اتباع الخطوات التالية:
الخطوة الأولى: استيراد المكتبات الضرورية:
python import matplotlib.pyplot as plt
الخطوة 2: اجمع قيم الدقة والخسارة أثناء التدريب:
أثناء عملية التدريب ، نقوم عادةً بتخزين قيم الدقة والخسارة في كل تكرار أو حقبة. يمكننا إنشاء قائمتين منفصلتين لتخزين هذه القيم. على سبيل المثال:
python accuracy_values = [0.82, 0.88, 0.91, 0.93, 0.95] loss_values = [0.65, 0.45, 0.35, 0.30, 0.25]
الخطوة 3: قم بإنشاء الرسم البياني:
باستخدام Matplotlib ، يمكننا رسم قيم الدقة والخسارة مقابل عدد التكرارات أو العهود. هذا مثال:
python plt.plot(accuracy_values, label='Accuracy') plt.plot(loss_values, label='Loss') plt.xlabel('Epochs') plt.ylabel('Value') plt.title('Accuracy and Loss Graph') plt.legend() plt.show()
ستنشئ هذه الشفرة رسمًا بيانيًا بقيم الدقة والخسارة الممثلة على المحور ص وعدد التكرارات أو الفترات على المحور السيني. يتم رسم قيم الدقة كخط ، ويتم رسم قيم الخسارة كخط آخر. تساعد الأسطورة على التمييز بين الاثنين.
2. الرسم البياني باستخدام TensorBoard:
TensorBoard هي أداة تصور قوية توفرها TensorFlow ، والتي يمكن استخدامها أيضًا مع نماذج PyTorch. يسمح بالتصوير التفاعلي والتفصيلي للجوانب المختلفة لتدريب النموذج ، بما في ذلك قيم الدقة والخسارة. لرسم قيم الدقة والفقد باستخدام TensorBoard ، نحتاج إلى اتباع الخطوات التالية:
الخطوة الأولى: استيراد المكتبات الضرورية:
python from torch.utils.tensorboard import SummaryWriter
الخطوة 2: إنشاء كائن SummaryWriter:
python writer = SummaryWriter()
الخطوة 3: سجل قيم الدقة والخسارة أثناء التدريب:
أثناء عملية التدريب ، يمكننا تسجيل قيم الدقة والخسارة في كل تكرار أو حقبة باستخدام كائن SummaryWriter. على سبيل المثال:
python for epoch in range(num_epochs): # Training code... # Log accuracy and loss values writer.add_scalar('Accuracy', accuracy, epoch) writer.add_scalar('Loss', loss, epoch)
الخطوة 4: إطلاق TensorBoard:
بعد التدريب ، يمكننا تشغيل TensorBoard باستخدام سطر الأوامر:
tensorboard --logdir=logs
الخطوة 5: عرض الرسوم البيانية للدقة والخسارة في TensorBoard:
افتح مستعرض ويب وانتقل إلى عنوان URL المقدم من TensorBoard. في علامة التبويب "Scalars" ، يمكننا تصور الرسوم البيانية للدقة والخسارة بمرور الوقت. يمكننا تخصيص التصور عن طريق ضبط المعلمات والإعدادات في TensorBoard.
يوفر استخدام TensorBoard مزايا إضافية مثل القدرة على مقارنة عدة عمليات تشغيل واستكشاف مقاييس مختلفة وتحليل أداء النموذج بمزيد من التفصيل.
يعد رسم قيم الدقة وفقدان النموذج المدرَّب أمرًا ضروريًا لفهم أدائه. يمكننا استخدام مكتبة Matplotlib لإنشاء رسوم بيانية ثابتة مباشرة في Python أو استخدام أداة التصور TensorBoard للحصول على تصورات أكثر تفاعلية وتفصيلاً.
أسئلة وأجوبة أخرى حديثة بخصوص التقدم مع التعلم العميق:
- هل يمكن أن يكون لنموذج الشبكة العصبية PyTorch نفس رمز معالجة وحدة المعالجة المركزية ووحدة معالجة الرسومات؟
- لماذا من المهم تحليل نماذج التعلم العميق وتقييمها بانتظام؟
- ما هي بعض التقنيات لتفسير التنبؤات التي قدمها نموذج التعلم العميق؟
- كيف يمكننا تحويل البيانات إلى تنسيق عائم للتحليل؟
- ما هو الغرض من استخدام العصور في التعلم العميق؟
- كيف يمكننا تسجيل بيانات التدريب والتحقق من الصحة أثناء عملية تحليل النموذج؟
- ما هو حجم الدفعة الموصى به لتدريب نموذج التعلم العميق؟
- ما هي الخطوات المتبعة في تحليل النموذج في التعلم العميق؟
- كيف يمكننا منع الغش غير المقصود أثناء التدريب على نماذج التعلم العميق؟
- ما هما المقياسان الرئيسيان المستخدمان في تحليل النموذج في التعلم العميق؟
عرض المزيد من الأسئلة والأجوبة في "التقدم مع التعلم العميق"