هذا هو تطبيق PyTorch لورقة "تحسين الشبكات المتبقية للتعرف على الصور والفيديو":
@article{duta2020improved,
author = {Ionut Cosmin Duta and Li Liu and Fan Zhu and Ling Shao},
title = {Improved Residual Networks for Image and Video Recognition},
journal = {arXiv preprint arXiv:2004.04989},
year = {2020},
}
يمكن العثور على النماذج التي تم تدريبها على ImageNet هنا.
تستطيع iResNet (الشبكة المتبقية المحسنة) تحسين خط الأساس (ResNet) من حيث أداء التعرف دون زيادة عدد المعلمات والتكاليف الحسابية. تعتبر iResNet فعالة جدًا في تدريب النماذج العميقة جدًا (راجع المقالة للحصول على التفاصيل).
الدقة في ImageNet (باستخدام إعدادات التدريب الافتراضية):
شبكة | 50 طبقة | 101 طبقات | 152 طبقة | 200 طبقة |
---|---|---|---|---|
ريسنيت | 76.12% (نموذج) | 78.00% (نموذج) | 78.45% (نموذج) | 77.55% (نموذج) |
iResnet | 77.31 % (نموذج) | 78.64 % (نموذج) | 79.34 % (نموذج) | 79.48 % (نموذج) |
قم بتثبيت مجموعة بيانات PyTorch وImageNet باتباع كود التدريب الرسمي لـ PyTorch ImageNet.
البديل السريع (دون الحاجة إلى تثبيت PyTorch ومكتبات التعلم العميق الأخرى) هو استخدام NVIDIA-Docker، وقد استخدمنا صورة الحاوية هذه.
لتدريب نموذج (على سبيل المثال، iResNet مع 50 طبقة) باستخدام DataParallel، قم بتشغيل main.py
؛ تحتاج أيضًا إلى توفير result_path
(مسار الدليل حيث سيتم حفظ النتائج والسجلات) و-- --data
(المسار إلى مجموعة بيانات ImageNet):
result_path=/your/path/to/save/results/and/logs/
mkdir -p ${result_path}
python main.py
--data /your/path/to/ImageNet/dataset/
--result_path ${result_path}
--arch iresnet
--model_depth 50
للتدريب باستخدام التدريب المتوازي للبيانات الموزعة متعددة المعالجة، اتبع الإرشادات الواردة في كود التدريب الرسمي لـ PyTorch ImageNet.