ما هو الجديد
مقدمة
نماذج
سمات
نتائج
البداية (التوثيق)
تدريب، والتحقق من الصحة، ومخطوطات الاستدلال
موارد PyTorch رهيبة
التراخيص
نقلا عن
تنظيف استخدام مضخم الشعلة لتجنب المكالمات المحددة لـ cuda، ودمج الدعم لأجهزة Ascend (NPU) من MengqingCao التي يجب أن تعمل الآن في PyTorch 2.5 مع ميزة التحميل التلقائي لامتداد الجهاز الجديد. تم اختبار Intel Arc (XPU) في Pytorch 2.5 أيضًا وقد نجح (في الغالب).
إصلاح الخطأ عند الاستيراد من المسار المهمل timm.models.registry
، وزيادة أولوية تحذيرات الإهمال الموجودة لتكون مرئية
أوزان المنفذ من InternViT-300M (https://huggingface.co/OpenGVLab/InternViT-300M-448px) إلى timm
كـ vit_intern300m_patch14_448
إصدار التنشيط المسبق (ResNetV2) من 18/18d/34/34d تم إضافة تعريفات نموذج ResNet حسب الطلب (الأوزان معلقة)
الإصدار 1.0.10
تمت إضافة نموذج MambaOut (https://github.com/yuweihao/MambaOut) والأوزان. نظرة جريئة على نماذج رؤية SSM بدون SSM (أساسًا ConvNeXt w/gating). مزيج من الأوزان الأصلية + الأشكال والأوزان المخصصة.
نموذج | img_size | أعلى 1 | top5 | param_count |
---|---|---|---|---|
mambaout_base_plus_rw.sw_e150_r384_in12k_ft_in1k | 384 | 87.506 | 98.428 | 101.66 |
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k | 288 | 86.912 | 98.236 | 101.66 |
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k | 224 | 86.632 | 98.156 | 101.66 |
mambaout_base_tall_rw.sw_e500_in1k | 288 | 84.974 | 97.332 | 86.48 |
mambaout_base_wide_rw.sw_e500_in1k | 288 | 84.962 | 97.208 | 94.45 |
mambaout_base_short_rw.sw_e500_in1k | 288 | 84.832 | 97.27 | 88.83 |
mambaout_base.in1k | 288 | 84.72 | 96.93 | 84.81 |
mambaout_small_rw.sw_e450_in1k | 288 | 84.598 | 97.098 | 48.5 |
mambaout_small.in1k | 288 | 84.5 | 96.974 | 48.49 |
mambaout_base_wide_rw.sw_e500_in1k | 224 | 84.454 | 96.864 | 94.45 |
mambaout_base_tall_rw.sw_e500_in1k | 224 | 84.434 | 96.958 | 86.48 |
mambaout_base_short_rw.sw_e500_in1k | 224 | 84.362 | 96.952 | 88.83 |
mambaout_base.in1k | 224 | 84.168 | 96.68 | 84.81 |
mambaout_small.in1k | 224 | 84.086 | 96.63 | 48.49 |
mambaout_small_rw.sw_e450_in1k | 224 | 84.024 | 96.752 | 48.5 |
mambaout_tiny.in1k | 288 | 83.448 | 96.538 | 26.55 |
mambaout_tiny.in1k | 224 | 82.736 | 96.1 | 26.55 |
mambaout_kobe.in1k | 288 | 81.054 | 95.718 | 9.14 |
mambaout_kobe.in1k | 224 | 79.986 | 94.986 | 9.14 |
mambaout_femto.in1k | 288 | 79.848 | 95.14 | 7.3 |
mambaout_femto.in1k | 224 | 78.87 | 94.408 | 7.3 |
يقوم SigLIP SO400M ViT بالضبط الدقيق على ImageNet-1k @ 378x378، تمت إضافة خيار 378x378 لنماذج SigLIP 384x384 الحالية
vit_so400m_patch14_siglip_378.webli_ft_in1k - 89.42 أعلى 1
vit_so400m_patch14_siglip_gap_378.webli_ft_in1k - 89.03
برنامج تشفير SigLIP SO400M ViT من متغير حديث متعدد اللغات (i18n)، patch16 @ 256x256 (https://huggingface.co/timm/ViT-SO400M-16-SigLIP-i18n-256). تحديث OpenCLIP معلق.
أضف نموذجين وأوزان ConvNeXt 'Zepto' (واحد مع ساق متداخل وواحد مع ساق رقعة). يستخدم RMSNorm، أصغر من "Atto" السابق، 2.2 مليون معلمة.
convnext_zepto_rms_ols.ra4_e3600_r224_in1k - 73.20 أعلى 1 @ 224
convnext_zepto_rms.ra4_e3600_r224_in1k - 72.81 @ 224
أضف مجموعة من نماذج الاختبار الصغيرة لتحسين اختبارات الوحدات والتطبيقات المتخصصة منخفضة الموارد (https://huggingface.co/blog/rwightman/timm-tiny-test)
إضافة نموذج MobileNetV4-Conv-Small (0.5x) (https://huggingface.co/posts/rwightman/793053396198664)
mobilenetv4_conv_small_050.e3000_r224_in1k - 65.81 أعلى -1 @ 256، 64.76 @ 224
أضف متغيرات MobileNetV3-Large المدربة باستخدام وصفة MNV4 الصغيرة
mobilenetv3_large_150d.ra4_e3600_r256_in1k - 81.81 @ 320، 80.94 @ 256
mobilenetv3_large_100.ra4_e3600_r224_in1k - 77.16 @ 256، 76.31 @ 224
نماذج SBB ViT محدثة تم تدريبها على ImageNet-12k وتم ضبطها بدقة على ImageNet-1k، مما يمثل تحديًا لعدد لا بأس به من النماذج الأكبر والأبطأ بكثير
نموذج | أعلى 1 | top5 | param_count | img_size |
---|---|---|---|---|
vit_mediumd_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k | 87.438 | 98.256 | 64.11 | 384 |
vit_mediumd_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k | 86.608 | 97.934 | 64.11 | 256 |
vit_betwixt_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k | 86.594 | 98.02 | 60.4 | 384 |
vit_betwixt_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k | 85.734 | 97.61 | 60.4 | 256 |
أوزان MobileNet-V1 1.25 وEfficientNet-B1 وResNet50-D مع وصفة التحدي الأساسية MNV4
نموذج | أعلى 1 | top5 | param_count | img_size |
---|---|---|---|---|
resnet50d.ra4_e3600_r224_in1k | 81.838 | 95.922 | 25.58 | 288 |
كفاءةnet_b1.ra4_e3600_r240_in1k | 81.440 | 95.700 | 7.79 | 288 |
resnet50d.ra4_e3600_r224_in1k | 80.952 | 95.384 | 25.58 | 224 |
كفاءةnet_b1.ra4_e3600_r240_in1k | 80.406 | 95.152 | 7.79 | 240 |
mobilenetv1_125.ra4_e3600_r224_in1k | 77.600 | 93.804 | 6.27 | 256 |
mobilenetv1_125.ra4_e3600_r224_in1k | 76.924 | 93.234 | 6.27 | 224 |
أضف قوس العمود الفقري SAM2 (HieraDet) ودعم تحميل الوزن
أضف أوزان صغيرة من Hiera تم تدريبها مع وضع abswin مدمج على in12k وضبط دقيق على 1k
نموذج | أعلى 1 | top5 | param_count |
---|---|---|---|
hiera_small_abswin_256.sbb2_e200_in12k_ft_in1k | 84.912 | 97.260 | 35.01 |
hiera_small_abswin_256.sbb2_pd_e200_in12k_ft_in1k | 84.560 | 97.106 | 35.01 |
أضف RDNet ('DenseNets Reloaded'، https://arxiv.org/abs/2403.19588)، شكرًا دونغيون كيم
أضف أوزان mobilenet_edgetpu_v2_m
مع وصفة ra4
mnv4 الصغيرة. 80.1% أعلى 1 عند 224 و80.7 عند 256.
الإصدار 1.0.8
المزيد من أوزان MobileNet-v4، ومجموعة ImageNet-12k المسبقة مع الضبط الدقيق، ونماذج ConvLarge المصقولة
نموذج | أعلى 1 | top1_err | top5 | top5_err | param_count | img_size |
---|---|---|---|---|---|---|
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k | 84.99 | 15.01 | 97.294 | 2.706 | 32.59 | 544 |
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k | 84.772 | 15.228 | 97.344 | 2.656 | 32.59 | 480 |
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k | 84.64 | 15.36 | 97.114 | 2.886 | 32.59 | 448 |
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k | 84.314 | 15.686 | 97.102 | 2.898 | 32.59 | 384 |
mobilenetv4_conv_aa_large.e600_r384_in1k | 83.824 | 16.176 | 96.734 | 3.266 | 32.59 | 480 |
mobilenetv4_conv_aa_large.e600_r384_in1k | 83.244 | 16.756 | 96.392 | 3.608 | 32.59 | 384 |
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k | 82.99 | 17.01 | 96.67 | 3.33 | 11.07 | 320 |
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k | 82.364 | 17.636 | 96.256 | 3.744 | 11.07 | 256 |
تحديات خط الأساس المثيرة للإعجاب لـ MobileNet-V1 وEfficientNet-B0 (https://huggingface.co/blog/rwightman/mobilenet-baselines)
نموذج | أعلى 1 | top1_err | top5 | top5_err | param_count | img_size |
---|---|---|---|---|---|---|
كفاءةnet_b0.ra4_e3600_r224_in1k | 79.364 | 20.636 | 94.754 | 5.246 | 5.29 | 256 |
كفاءةnet_b0.ra4_e3600_r224_in1k | 78.584 | 21.416 | 94.338 | 5.662 | 5.29 | 224 |
mobilenetv1_100h.ra4_e3600_r224_in1k | 76.596 | 23.404 | 93.272 | 6.728 | 5.28 | 256 |
mobilenetv1_100.ra4_e3600_r224_in1k | 76.094 | 23.906 | 93.004 | 6.996 | 4.23 | 256 |
mobilenetv1_100h.ra4_e3600_r224_in1k | 75.662 | 24.338 | 92.504 | 7.496 | 5.28 | 224 |
mobilenetv1_100.ra4_e3600_r224_in1k | 75.382 | 24.618 | 92.312 | 7.688 | 4.23 | 224 |
تمت إضافة النموذج الأولي لـ set_input_size()
إلى نماذج vit وswin v1/v2 للسماح بتغيير حجم الصورة وحجم التصحيح وحجم النافذة بعد إنشاء النموذج.
تم تحسين الدعم في swin للتعامل مع أحجام مختلفة، بالإضافة إلى set_input_size
و always_partition
و strict_img_size
args إلى __init__
للسماح بقيود أكثر مرونة لحجم الإدخال
قم بإصلاح معلومات الفهارس خارج الترتيب لمجمع ميزات "Getter" الوسيط أو السحب أو نطاق المؤشرات لنفسه.
قم بإضافة العديد من النماذج المعلمة tiny
التي يقل حجمها عن .5M للاختبار والتي تم تدريبها بالفعل على ImageNet-1k
نموذج | أعلى 1 | top1_err | top5 | top5_err | param_count | img_size | Crop_pct |
---|---|---|---|---|---|---|---|
test_efficiencynet.r160_in1k | 47.156 | 52.844 | 71.726 | 28.274 | 0.36 | 192 | 1.0 |
test_byobnet.r160_in1k | 46.698 | 53.302 | 71.674 | 28.326 | 0.46 | 192 | 1.0 |
test_efficiencynet.r160_in1k | 46.426 | 53.574 | 70.928 | 29.072 | 0.36 | 160 | 0.875 |
test_byobnet.r160_in1k | 45.378 | 54.622 | 70.572 | 29.428 | 0.46 | 160 | 0.875 |
test_vit.r160_in1k | 42.0 | 58.0 | 68.664 | 31.336 | 0.37 | 192 | 1.0 |
test_vit.r160_in1k | 40.822 | 59.178 | 67.212 | 32.788 | 0.37 | 160 | 0.875 |
إصلاح الرمز المميز لـ vit reg، شكرًا للوعد
إصلاحات متنوعة أخرى
3 أوزان هجينة إضافية لـ MobileNetV4 مع نظام بدء وزن MQA مختلف
نموذج | أعلى 1 | top1_err | top5 | top5_err | param_count | img_size |
---|---|---|---|---|---|---|
mobilenetv4_hybrid_large.ix_e600_r384_in1k | 84.356 | 15.644 | 96.892 | 3.108 | 37.76 | 448 |
mobilenetv4_hybrid_large.ix_e600_r384_in1k | 83.990 | 16.010 | 96.702 | 3.298 | 37.76 | 384 |
mobilenetv4_hybrid_medium.ix_e550_r384_in1k | 83.394 | 16.606 | 96.760 | 3.240 | 11.07 | 448 |
mobilenetv4_hybrid_medium.ix_e550_r384_in1k | 82.968 | 17.032 | 96.474 | 3.526 | 11.07 | 384 |
mobilenetv4_hybrid_medium.ix_e550_r256_in1k | 82.492 | 17.508 | 96.278 | 3.722 | 11.07 | 320 |
mobilenetv4_hybrid_medium.ix_e550_r256_in1k | 81.446 | 18.554 | 95.704 | 4.296 | 11.07 | 256 |
تحميل الوزن florence2 في نموذج DaViT
تمت إضافة نماذج MobileNetV4 والمجموعة الأولية من الأوزان المدربة بواسطة timm
:
نموذج | أعلى 1 | top1_err | top5 | top5_err | param_count | img_size |
---|---|---|---|---|---|---|
mobilenetv4_hybrid_large.e600_r384_in1k | 84.266 | 15.734 | 96.936 | 3.064 | 37.76 | 448 |
mobilenetv4_hybrid_large.e600_r384_in1k | 83.800 | 16.200 | 96.770 | 3.230 | 37.76 | 384 |
mobilenetv4_conv_large.e600_r384_in1k | 83.392 | 16.608 | 96.622 | 3.378 | 32.59 | 448 |
mobilenetv4_conv_large.e600_r384_in1k | 82.952 | 17.048 | 96.266 | 3.734 | 32.59 | 384 |
mobilenetv4_conv_large.e500_r256_in1k | 82.674 | 17.326 | 96.31 | 3.69 | 32.59 | 320 |
mobilenetv4_conv_large.e500_r256_in1k | 81.862 | 18.138 | 95.69 | 4.31 | 32.59 | 256 |
mobilenetv4_hybrid_medium.e500_r224_in1k | 81.276 | 18.724 | 95.742 | 4.258 | 11.07 | 256 |
mobilenetv4_conv_medium.e500_r256_in1k | 80.858 | 19.142 | 95.768 | 4.232 | 9.72 | 320 |
mobilenetv4_hybrid_medium.e500_r224_in1k | 80.442 | 19.558 | 95.38 | 4.62 | 11.07 | 224 |
mobilenetv4_conv_blur_medium.e500_r224_in1k | 80.142 | 19.858 | 95.298 | 4.702 | 9.72 | 256 |
mobilenetv4_conv_medium.e500_r256_in1k | 79.928 | 20.072 | 95.184 | 4.816 | 9.72 | 256 |
mobilenetv4_conv_medium.e500_r224_in1k | 79.808 | 20.192 | 95.186 | 4.814 | 9.72 | 256 |
mobilenetv4_conv_blur_medium.e500_r224_in1k | 79.438 | 20.562 | 94.932 | 5.068 | 9.72 | 224 |
mobilenetv4_conv_medium.e500_r224_in1k | 79.094 | 20.906 | 94.77 | 5.23 | 9.72 | 224 |
mobilenetv4_conv_small.e2400_r224_in1k | 74.616 | 25.384 | 92.072 | 7.928 | 3.77 | 256 |
mobilenetv4_conv_small.e1200_r224_in1k | 74.292 | 25.708 | 92.116 | 7.884 | 3.77 | 256 |
mobilenetv4_conv_small.e2400_r224_in1k | 73.756 | 26.244 | 91.422 | 8.578 | 3.77 | 224 |
mobilenetv4_conv_small.e1200_r224_in1k | 73.454 | 26.546 | 91.34 | 8.66 | 3.77 | 224 |
Apple MobileCLIP (https://arxiv.org/pdf/2311.17049، FastViT وViT-B) دعم نموذج برج الصور والأوزان المضافة (جزء من دعم OpenCLIP).
ViTamin (https://arxiv.org/abs/2404.02132) تمت إضافة نموذج برج الصور CLIP والأوزان (جزء من دعم OpenCLIP).
OpenAI CLIP تعديل نمذجة برج الصور ResNet ودعم الوزن (عبر ByobNet). Refactor AttentionPool2d.
دعم تحميل أوزان PaliGemma jax في نماذج SigLIP ViT بتجميع متوسط.
أضف نماذج Hiera من Meta (https://github.com/facebookresearch/hiera).
إضافة normalize=
للترانسورمز، وإرجاع الشعلة غير المقيسة. الموتر مع dytpe الأصلي ( chug
)
الافراج عن الإصدار 1.0.3
Searching for Better ViT Baselines (For the GPU Poor)
تم إصدار أوزان ومتغيرات vit. استكشاف أشكال النماذج بين Tiny وBase.
نموذج | أعلى 1 | top5 | param_count | img_size |
---|---|---|---|---|
vit_mediumd_patch16_reg4_gap_256.sbb_in12k_ft_in1k | 86.202 | 97.874 | 64.11 | 256 |
vit_betwixt_patch16_reg4_gap_256.sbb_in12k_ft_in1k | 85.418 | 97.48 | 60.4 | 256 |
vit_mediumd_patch16_rope_reg1_gap_256.sbb_in1k | 84.322 | 96.812 | 63.95 | 256 |
vit_betwixt_patch16_rope_reg4_gap_256.sbb_in1k | 83.906 | 96.684 | 60.23 | 256 |
vit_base_patch16_rope_reg1_gap_256.sbb_in1k | 83.866 | 96.67 | 86.43 | 256 |
vit_medium_patch16_rope_reg1_gap_256.sbb_in1k | 83.81 | 96.824 | 38.74 | 256 |
vit_betwixt_patch16_reg4_gap_256.sbb_in1k | 83.706 | 96.616 | 60.4 | 256 |
vit_betwixt_patch16_reg1_gap_256.sbb_in1k | 83.628 | 96.544 | 60.4 | 256 |
vit_medium_patch16_reg4_gap_256.sbb_in1k | 83.47 | 96.622 | 38.88 | 256 |
vit_medium_patch16_reg1_gap_256.sbb_in1k | 83.462 | 96.548 | 38.88 | 256 |
vit_little_patch16_reg4_gap_256.sbb_in1k | 82.514 | 96.262 | 22.52 | 256 |
vit_wee_patch16_reg1_gap_256.sbb_in1k | 80.256 | 95.360 | 13.42 | 256 |
vit_pwee_patch16_reg1_gap_256.sbb_in1k | 80.072 | 95.136 | 15.25 | 256 |
vit_mediumd_patch16_reg4_gap_256.sbb_in12k | لا يوجد | لا يوجد | 64.11 | 256 |
vit_betwixt_patch16_reg4_gap_256.sbb_in12k | لا يوجد | لا يوجد | 60.4 | 256 |
تمت إضافة مساعد AttentionExtract لاستخراج خرائط الانتباه من نماذج timm
. انظر المثال في رقم 1232 (تعليق)
تم تحسين واجهة برمجة تطبيقات forward_intermediates()
وإضافتها إلى المزيد من النماذج بما في ذلك بعض شبكات ConvNets التي تحتوي على طرق استخلاص أخرى.
1017 من 1047 من بنيات النماذج تدعم features_only=True
. يمكن دعم الـ 34 معمارية المتبقية ولكن بناءً على الطلبات ذات الأولوية.
قم بإزالة الوظائف المشروحة torch.jit.script بما في ذلك عمليات تنشيط JIT القديمة. الصراع مع الدينامو والدينامو يقوم بعمل أفضل بكثير عند استخدامه.
استعدادًا لإصدار 1.0 الذي طال انتظاره، كانت الأمور مستقرة منذ فترة حتى الآن.
ميزة مهمة كانت مفقودة لفترة من الوقت، features_only=True
لنماذج ViT ذات الحالات المخفية المسطحة أو تخطيطات الوحدات النمطية غير القياسية (تغطي حتى الآن 'vit_*', 'twins_*', 'deit*', 'beit*', 'mvitv2*', 'eva*', 'samvit_*', 'flexivit*'
)
تم تحقيق دعم الميزات أعلاه من خلال واجهة برمجة تطبيقات forward_intermediates()
الجديدة التي يمكن استخدامها مع وحدة التفاف الميزات أو مباشرة.
النموذج = timm.create_model('vit_base_patch16_224')final_feat، الوسيطات = model.forward_intermediates(input) الإخراج = model.forward_head(final_feat) # التجميع + بصمة المصنف (final_feat.shape)torch.Size([2, 197, 768])for f في الوسائط:print(f.shape)torch.Size([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([ 2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])الشعلة.الحجم([ 2, 768, 14, 14])الشعلة.الحجم([2, 768, 14, 14])طباعة(output.shape)torch.Size([2, 1000])
model = timm.create_model('eva02_base_patch16_clip_224', pretrained=True, img_size=512, Features_only=True, out_indices=(-3, -2,))output = model(torch.randn(2, 3, 512, 512)) لـ o في الإخراج: print(o.shape) حجم الشعلة([2, 768, 32, 32]) حجم الشعلة([2, 768, 32, 32])
تمت إضافة أوزان برج الرؤية TinyCLIP، شكرًا لـ Thien Tran
تمت إضافة نماذج Next-ViT. مقتبس من https://github.com/bytedance/Next-ViT
تمت إضافة طرازي HGNet وPP-HGNetV2. مقتبس من https://github.com/PaddlePaddle/PaddleClas بواسطة SeeFun
تمت إزالة setup.py، وتم نقله إلى الإصدار المستند إلى pyproject.toml المدعوم بواسطة PDM
قم بإضافة نموذج EMA محدث باستخدام _for_each لتقليل الحمل
دعم وسيطات الجهاز في البرنامج النصي للقطار للأجهزة التي لا تحتوي على GPU
إصلاحات متنوعة أخرى وإضافات صغيرة
تمت زيادة إصدار Python المدعوم إلى 3.8
الإصدار 0.9.16
مجموعات البيانات وإعادة البناء
دعم مجموعة بيانات HuggingFace المتدفقة (القابلة للتكرار) ( --dataset hfids:org/dataset
)
تعديلات على غلاف مجموعة بيانات الويب لتحسين جلب معلومات الانقسام، ويمكن جلب الانقسامات تلقائيًا من مجموعة بيانات ويب مركز HF المدعومة
datasets
HF التي تم اختبارها وبث غلاف مجموعة بيانات الويب من مركز HF مع تحميلات ImageNet الحديثة timm
إلى https://huggingface.co/timm
اجعل مفاتيح الإدخال والعمود/الحقل المستهدفة متسقة عبر مجموعات البيانات وتمريرها عبر الوسائط
دعم كامل أحادي اللون عند استخدام e:g: --input-size 1 224 224
أو --in-chans 1
، يضبط تحويل صورة PIL بشكل مناسب في مجموعة البيانات
تم تحسين العديد من عمليات القص البديلة وتغيير الحجم (ResizeKeepRatio وRandomCropOrPad وما إلى ذلك) لاستخدامها في مشروع AI الخاص بمستند PixParse
أضف مسبار اهتزاز اللون بنمط SimCLR مع خيارات التدرج الرمادي والتمويه الغوسي إلى التعزيزات والوسائط
السماح بالتدريب بدون مجموعة التحقق من الصحة ( --val-split ''
) في البرنامج النصي للقطار
أضف وسيطات --bce-sum
(sum over class dim) و-- --bce-pos-weight
(الترجيح الإيجابي) للتدريب نظرًا لأنها تعديلات شائعة لخسارة BCE، وكنت غالبًا ما أواجه صعوبة في البرمجة
تمت إضافة نماذج EfficientViT-Large، شكرًا SeeFun
إصلاح توافق Python 3.7، سيتم إسقاط الدعم عنه قريبًا
إصلاحات متنوعة أخرى
الإصدار 0.9.12
تمت إضافة مرونة كبيرة لنماذج timm المستندة إلى Hugging Face Hub عبر إدخال تكوين model_args
. سيتم تمرير model_args
كـ kwargs إلى النماذج عند الإنشاء.
راجع المثال على https://huggingface.co/gaunernst/vit_base_patch16_1024_128.audiomae_as2m_ft_as20k/blob/main/config.json
الاستخدام: #2035
تم تحديث تقييم imagenet واختبار مجموعة ملفات CSV بأحدث الموديلات
vision_transformer.py
الكتابة وتنظيف المستندات بواسطة Laureηt
الافراج عن 0.9.11
تمت إضافة أوزان DFN (شبكات تصفية البيانات) وMetaCLIP ViT
تمت إضافة أوزان نموذج ViT "تسجيل" DINOv2 (https://huggingface.co/papers/2309.16588، https://huggingface.co/papers/2304.07193)
إضافة متغيرات quickgelu
ViT لأوزان OpenAI وDFN وMetaCLIP التي تستخدمها (أقل كفاءة)
تمت إضافة تحسين الكتابة إلى ResNet، MobileNet-v3 بفضل Aryan
تم ضبط ImageNet-12k بدقة (من LAION-2B CLIP) convnext_xxlarge
الافراج عن 0.9.9
أوزان برج الصور SigLIP مدعومة في vision_transformer.py
.
إمكانات كبيرة للضبط الدقيق واستخدام الميزات النهائية.
دعم "التسجيل" التجريبي في نماذج vit وفقًا لسجلات احتياجات محولات الرؤية
تم تحديث RepViT بإصدار جديد للوزن. شكرا وانغاو
أضف دعم تغيير حجم التصحيح (على حمل الوزن المُدرب مسبقًا) إلى نماذج Swin
0.9.8 الإصدار معلق
تمت إضافة TinyViT بواسطة SeeFun
قم بإصلاح EfficientViT (MIT) لاستخدام torch.autocast حتى يعمل مرة أخرى إلى PT 1.10
الافراج عن 0.9.7
Py T orch Im age M odels ( timm
) عبارة عن مجموعة من نماذج الصور، والطبقات، والأدوات المساعدة، والمحسنات، والمجدولات، ومحملات البيانات / التعزيزات، والتدريب المرجعي / البرامج النصية للتحقق من الصحة التي تهدف إلى تجميع مجموعة واسعة من نماذج SOTA ذات القدرة لإعادة إنتاج نتائج تدريب ImageNet.
عمل العديد من الآخرين موجود هنا. لقد حاولت التأكد من الاعتراف بجميع المواد المصدرية عبر روابط إلى github وأوراق arxiv وما إلى ذلك في ملف README والوثائق ومستندات التعليمات البرمجية. واسمحوا لي أن أعرف إذا فاتني أي شيء.
تشتمل جميع عائلات الهندسة المعمارية النموذجية على متغيرات ذات أوزان مُدربة مسبقًا. هناك نماذج مختلفة دون أي أوزان، وهذا ليس خطأ. إن المساعدة في تدريب الأوزان الجديدة أو الأفضل موضع تقدير دائمًا.
تجميع المحولات المتداخلة - https://arxiv.org/abs/2105.12723
بيت - https://arxiv.org/abs/2106.08254
النقل الكبير ResNetV2 (BiT) - https://arxiv.org/abs/1912.11370
محولات عنق الزجاجة - https://arxiv.org/abs/2101.11605
CaiT (الانتباه الطبقي في محولات الصور) - https://arxiv.org/abs/2103.17239
CoaT (محولات الصور ذات التحويل المشترك-الانتباه) - https://arxiv.org/abs/2104.06399
CoAtNet (الالتفاف والانتباه) - https://arxiv.org/abs/2106.04803
كونفنيكست - https://arxiv.org/abs/2201.03545
ConvNeXt-V2 - http://arxiv.org/abs/2301.00808
ConViT (محولات الرؤية المتحيزة الاستقرائية الناعمة) - https://arxiv.org/abs/2103.10697
CspNet (الشبكات الجزئية عبر المراحل) - https://arxiv.org/abs/1911.11929
دايت - https://arxiv.org/abs/2012.12877
DeiT-III - https://arxiv.org/pdf/2204.07118.pdf
دينس نت - https://arxiv.org/abs/1608.06993
DLA - https://arxiv.org/abs/1707.06484
DPN (شبكة المسار المزدوج) - https://arxiv.org/abs/1707.01629
إيدج نيكست - https://arxiv.org/abs/2206.10589
EfficientFormer - https://arxiv.org/abs/2206.01191
EfficientNet (عائلة MBConvNet)
EfficientNet NoisyStudent (B0-B7، L2) - https://arxiv.org/abs/1911.04252
EfficientNet AdvProp (B0-B8) - https://arxiv.org/abs/1911.09665
شبكة الكفاءة (B0-B7) - https://arxiv.org/abs/1905.11946
EfficientNet-EdgeTPU (S، M، L) - https://ai.googleblog.com/2019/08/efficientnet-edgetpu-creating.html
EfficientNet V2 - https://arxiv.org/abs/2104.00298
فبنيت-C - https://arxiv.org/abs/1812.03443
ميكس نت - https://arxiv.org/abs/1907.09595
MNASNet B1 وA1 (Squeeze-Excite) والصغير - https://arxiv.org/abs/1807.11626
موبايل نت-V2 - https://arxiv.org/abs/1801.04381
NAS أحادي المسار - https://arxiv.org/abs/1904.02877
تايني نت - https://arxiv.org/abs/2010.14819
EfficientViT (MIT) - https://arxiv.org/abs/2205.14756
EfficientViT (MSRA) - https://arxiv.org/abs/2305.07027
إيفا - https://arxiv.org/abs/2211.07636
إيفا-02 - https://arxiv.org/abs/2303.11331
فاست فيت - https://arxiv.org/abs/2303.14189
فليكسي فيت - https://arxiv.org/abs/2212.08013
FocalNet (شبكات التعديل البؤري) - https://arxiv.org/abs/2203.11926
GCViT (محول رؤية السياق العالمي) - https://arxiv.org/abs/2206.09959
غوست نت - https://arxiv.org/abs/1911.11907
GhostNet-V2 - https://arxiv.org/abs/2211.12905
gMLP - https://arxiv.org/abs/2105.08050
الشبكات ذات الكفاءة الرسومية - https://arxiv.org/abs/2006.14090
هالو نتس - https://arxiv.org/abs/2103.12731
HGNet / HGNet-V2 - سيتم تحديده لاحقًا
شبكة الموارد البشرية - https://arxiv.org/abs/1908.07919
إنسيبشنNeXt - https://arxiv.org/abs/2303.16900
التأسيس-V3 - https://arxiv.org/abs/1512.00567
Inception-ResNet-V2 وInception-V4 - https://arxiv.org/abs/1602.07261
شبكات لامدا - https://arxiv.org/abs/2102.08602
LeViT (محول الرؤية في ملابس ConvNet) - https://arxiv.org/abs/2104.01136
MaxViT (محول الرؤية متعدد المحاور) - https://arxiv.org/abs/2204.01697
ميتافورمر (PoolFormer-v2، ConvFormer، CAFormer) - https://arxiv.org/abs/2210.13452
MLP-Mixer - https://arxiv.org/abs/2105.01601
موبايلكليب - https://arxiv.org/abs/2311.17049
MobileNet-V3 (MBConvNet مع رأس فعال) - https://arxiv.org/abs/1905.02244
FBNet-V3 - https://arxiv.org/abs/2006.02049
هاردكور-NAS - https://arxiv.org/abs/2102.11646
إل سي نت - https://arxiv.org/abs/2109.15099
موبايل نت في 4 - https://arxiv.org/abs/2404.10518
موبايل وان - https://arxiv.org/abs/2206.04040
موبايل فيت - https://arxiv.org/abs/2110.02178
MobileViT-V2 - https://arxiv.org/abs/2206.02680
MViT-V2 (محول رؤية متعدد المقاييس محسّن) - https://arxiv.org/abs/2112.01526
ناسيت-أ - https://arxiv.org/abs/1707.07012
نيس تي - https://arxiv.org/abs/2105.12723
التالي-ViT - https://arxiv.org/abs/2207.05501
NFNet-F - https://arxiv.org/abs/2102.06171
NF-RegNet / NF-ResNet - https://arxiv.org/abs/2101.08692
بيناس نت - https://arxiv.org/abs/1712.00559
بولفورمر (ميتافورمر) - https://arxiv.org/abs/2111.11418
محول الرؤية القائم على التجميع (PiT) - https://arxiv.org/abs/2103.16302
PVT-V2 (محول رؤية الهرم المحسّن) - https://arxiv.org/abs/2106.13797
RDNet (إعادة تحميل DenseNets) - https://arxiv.org/abs/2403.19588
ريجنيت - https://arxiv.org/abs/2003.13678
ريجنيتز - https://arxiv.org/abs/2103.06877
ريبفج - https://arxiv.org/abs/2101.03697
RepGhostNet - https://arxiv.org/abs/2211.06088
ريبفيت - https://arxiv.org/abs/2307.09283
ريسMLP - https://arxiv.org/abs/2105.03404
ريسنيت/ريسنيكست
ResNet (v1b/v1.5) - https://arxiv.org/abs/1512.03385
ريسنيكست - https://arxiv.org/abs/1611.05431
"حقيبة الحيل" / أشكال Gluon C وD وE وS - https://arxiv.org/abs/1812.01187
تم تدريب Instagram مسبقًا (WSL) الخاضع للإشراف الضعيف / تم ضبط ImageNet على ResNeXt101 - https://arxiv.org/abs/1805.00932
شبه خاضع للإشراف (SSL) / شبه ضعيف الخاضع للإشراف (SWSL) ResNet/ResNeXts - https://arxiv.org/abs/1905.00546
ECA-Net (ECAResNet) - https://arxiv.org/abs/1910.03151v4
شبكات الضغط والإثارة (SResNet) - https://arxiv.org/abs/1709.01507
ريسنيت-RS - https://arxiv.org/abs/2103.07579
Res2Net - https://arxiv.org/abs/1904.01169
ريسنيست - https://arxiv.org/abs/2004.08955
ريكس نت - https://arxiv.org/abs/2007.00992
سيليك إس إل إس - https://arxiv.org/abs/1907.00837
شبكات النواة الانتقائية - https://arxiv.org/abs/1903.06586
Sequencer2D - https://arxiv.org/abs/2205.01972
سوين S3 (AutoFormerV2) - https://arxiv.org/abs/2111.14725
محول سوين - https://arxiv.org/abs/2103.14030
محول سوين V2 - https://arxiv.org/abs/2111.09883
محول-iN-محول (TNT) - https://arxiv.org/abs/2103.00112
تيريس نت - https://arxiv.org/abs/2003.13630
التوائم (الانتباه المكاني في محولات الرؤية) - https://arxiv.org/pdf/2104.13840.pdf
فيزفورمر - https://arxiv.org/abs/2104.12533
محول الرؤية - https://arxiv.org/abs/2010.11929
فيتامين - https://arxiv.org/abs/2404.02132
VOLO (مستقبل الرؤية) - https://arxiv.org/abs/2106.13112
VovNet V2 وV1 - https://arxiv.org/abs/1911.06667
اكسسيبشن - https://arxiv.org/abs/1610.02357
Xception (محاذاة معدلة، Gluon) - https://arxiv.org/abs/1802.02611
Xception (محاذاة معدلة، TF) - https://arxiv.org/abs/1802.02611
XCiT (محولات الصور ذات التغاير المتقاطع) - https://arxiv.org/abs/2106.09681
أدوات التحسين المضمنة المتوفرة عبر طرق المصنع create_optimizer
/ create_optimizer_v2
:
adabelief
تطبيق AdaBelief مقتبس من https://github.com/juntang-zhuang/Adabelief-Optimizer - https://arxiv.org/abs/2010.07468
adafactor
مقتبس من FAIRSeq impl - https://arxiv.org/abs/1804.04235
adahessian
بقلم ديفيد صموئيل - https://arxiv.org/abs/2006.00719
adamp
و sgdp
بواسطة Naver ClovAI - https://arxiv.org/abs/2006.08217
adan
تطبيق عدن مقتبس من https://github.com/sail-sg/Adan - https://arxiv.org/abs/2208.06677
lamb
تم تنظيف تطبيق Lamb وLambC (مع Trust-clipping) وتعديله لدعم الاستخدام مع XLA - https://arxiv.org/abs/1904.00962
lars
تنفيذ LARS وLARC (مع Trust-clipping) - https://arxiv.org/abs/1708.03888
lion
وتنفيذ الأسد مقتبس من https://github.com/google/automl/tree/master/lion - https://arxiv.org/abs/2302.06675
lookahead
مقتبس من ضمنا بواسطة ليام - https://arxiv.org/abs/1907.08610
madgrad
- وتنفيذ MADGRAD مقتبس من https://github.com/facebookresearch/madgrad - https://arxiv.org/abs/2101.11075
nadam
تنفيذ آدم مع زخم نيستيروف
nadamw
تنفيذ AdamW (آدم مع انحلال الوزن المنفصل) مع زخم نيستيروف. تضمين مبسط يعتمد على https://github.com/mlcommons/algorithmic-efficiency
novograd
بقلم ماساشي كيمورا - https://arxiv.org/abs/1905.11286
radam
بقلم ليوان ليو - https://arxiv.org/abs/1908.03265
rmsprop_tf
مقتبس من PyTorch RMSProp بنفسي. يعيد إنتاج سلوك Tensorflow RMSProp المحسّن كثيرًا
sgdw
وتنفيذ SGD مع انحلال الوزن المنفصل
مُحسِّنات fused<name>
بالاسم مع تثبيت NVIDIA Apex
أدوات تحسين bits<name>
بالاسم مع تثبيت BitsAndBytes
محو عشوائي من Zhun Zhong - https://arxiv.org/abs/1708.04896)
الخلط - https://arxiv.org/abs/1710.09412
كاتميكس - https://arxiv.org/abs/1905.04899
AutoAugment (https://arxiv.org/abs/1805.09501) وRandAugment (https://arxiv.org/abs/1909.13719) تم تصميم تكوينات ImageNet وفقًا لتدريب EfficientNet (https://github.com/tensorflow/tpu/ blob/master/models/official/efficiencynet/autoaugment.py)
يعمل AugMix مع فقدان JSD، وJSD مع دعم الخلط النظيف + المعزز مع AutoAugment وRandAugment أيضًا - https://arxiv.org/abs/1912.02781
SplitBachNorm - يسمح بتقسيم طبقات معيار الدُفعة بين البيانات النظيفة والمعززة (معيار الدُفعة المساعدة).
DropPath المعروف أيضًا باسم "العمق العشوائي" - https://arxiv.org/abs/1603.09382
دروب بلوك - https://arxiv.org/abs/1810.12890
تجميع الضبابية - https://arxiv.org/abs/1904.11486
يتم تضمين العديد من الميزات (الأقل شيوعًا) التي أستخدمها غالبًا في مشاريعي. العديد من إضافاتهم هي السبب وراء احتفاظي بمجموعتي الخاصة من النماذج، بدلاً من استخدام نماذج أخرى عبر PIP:
تحتوي جميع الطرز على واجهة تكوين افتراضية مشتركة وواجهة برمجة التطبيقات (API) لـ
الوصول إلى/تغيير المصنف - get_classifier
و reset_classifier
إجراء تمرير للأمام على الميزات فقط - forward_features
(راجع الوثائق)
وهذا يجعل من السهل كتابة أغلفة شبكة متسقة تعمل مع أي من النماذج
تدعم جميع النماذج استخراج خريطة المعالم متعددة المقاييس (أهرامات الميزات) عبر create_model (راجع الوثائق)
create_model(name, features_only=True, out_indices=..., output_stride=...)
تحدد وسيطة إنشاء out_indices
خرائط الميزات التي سيتم إرجاعها، وتعتمد هذه المؤشرات على 0 وتتوافق عمومًا مع مستوى الميزات C(i + 1)
.
تتحكم وسيطة إنشاء output_stride
في خطوة إخراج الشبكة باستخدام التلافيفات المتوسعة. تكون معظم الشبكات خطوة 32 بشكل افتراضي. ليست كل الشبكات تدعم هذا.
يمكن الاستعلام عن عدد قنوات خريطة الميزات ومستوى التخفيض (الخطوة) بعد إنشاء النموذج عبر عضو .feature_info
تحتوي جميع الطرازات على محمل وزن ثابت ومدرب مسبقًا والذي يتكيف مع الخط الخطي الأخير إذا لزم الأمر، ومن 3 إلى 1 قناة إدخال إذا رغبت في ذلك
التدريب المرجعي عالي الأداء والتحقق من صحة البرامج النصية والاستدلال التي تعمل في العديد من أوضاع العمليات/وحدة معالجة الرسومات:
NVIDIA DDP مع وحدة معالجة رسومات واحدة لكل عملية، وعمليات متعددة مع وجود APEX (دقة AMP المختلطة اختيارية)
PyTorch DistributedDataParallel مع وحدة معالجة رسومات متعددة، عملية واحدة (يتم تعطيل AMP لأنه يتعطل عند تمكينه)
PyTorch مع عملية واحدة لوحدة معالجة الرسومات (AMP اختياري)
تطبيق تجمع عمومي ديناميكي يسمح بالاختيار من متوسط التجميع، أو الحد الأقصى للتجميع، أو المتوسط + الحد الأقصى، أو concat([average, max]) عند إنشاء النموذج. يعتبر كل التجميع العالمي متوسطًا تكيفيًا بشكل افتراضي ومتوافق مع الأوزان المدربة مسبقًا.
غلاف "Test Time Pool" الذي يمكنه تغليف أي من النماذج المضمنة وعادةً ما يوفر أداءً محسنًا من خلال الاستدلال باستخدام صور إدخال أكبر من حجم التدريب. الفكرة مقتبسة من تطبيق DPN الأصلي عندما قمت بالنقل (https://github.com/cypw/DPNs)
جداول معدل التعلم
جدولة AllenNLP
FAIRseq lr_scheduler
SGDR: هبوط التدرج العشوائي مع عمليات إعادة التشغيل الدافئة (https://arxiv.org/abs/1608.03983)
الأفكار المعتمدة من
تشتمل أدوات الجدولة على step
cosine
مع إعادة التشغيل tanh
مع إعادة التشغيل plateau
الفضاء إلى العمق بواسطة mrT23 (https://arxiv.org/abs/1801.04590) - ورق أصلي؟
قص التدرج التكيفي (https://arxiv.org/abs/2102.06171، https://github.com/deepmind/deepmind-research/tree/master/nfnets)
مجموعة واسعة من وحدات الاهتمام بالقناة و/أو المكانية:
محول عنق الزجاجة - https://arxiv.org/abs/2101.11605
CBAM - https://arxiv.org/abs/1807.06521
الإثارة والضغط الفعال (ESE) - https://arxiv.org/abs/1911.06667
انتباه القناة الفعال (ECA) - https://arxiv.org/abs/1910.03151
اجمع واستفز (GE) - https://arxiv.org/abs/1810.12348
السياق العالمي (GC) - https://arxiv.org/abs/1904.11492
هالة - https://arxiv.org/abs/2103.12731
الارتداد - https://arxiv.org/abs/2103.06255
طبقة لامدا - https://arxiv.org/abs/2102.08602
غير محلية (هولندا) - https://arxiv.org/abs/1711.07971
الضغط والإثارة (SE) - https://arxiv.org/abs/1709.01507
النواة الانتقائية (SK) - (https://arxiv.org/abs/1903.06586
سبليت (SPLAT) - https://arxiv.org/abs/2004.08955
نافذة متحولة (SWIN) - https://arxiv.org/abs/2103.14030
يمكن العثور على نتائج التحقق من صحة النموذج في جداول النتائج
يمكن العثور على الوثائق الرسمية على https://huggingface.co/docs/hub/timm. المساهمات التوثيقية هي موضع ترحيب.
البدء باستخدام نماذج صور PyTorch (timm): دليل الممارس بقلم Chris Hughes عبارة عن منشور مدونة شامل يغطي العديد من جوانب timm
بالتفصيل.
timmdocs عبارة عن مجموعة بديلة من الوثائق لـ timm
. شكرًا جزيلاً لأمان أرورا على جهوده في إنشاء timmdocs.
يعد Paperswithcode مصدرًا جيدًا لتصفح النماذج داخل timm
.
يحتوي المجلد الجذر للمستودع على برامج نصية للتدريب المرجعي والتحقق من الصحة والاستدلال التي تعمل مع النماذج المضمنة والميزات الأخرى لهذا المستودع. إنها قابلة للتكيف مع مجموعات البيانات وحالات الاستخدام الأخرى مع القليل من الاختراق. انظر الوثائق.
أحد أعظم أصول PyTorch هو المجتمع ومساهماته. يتم سرد عدد قليل من الموارد المفضلة لدي والتي تتوافق بشكل جيد مع النماذج والمكونات هنا أدناه.
Detectron2 - https://github.com/facebookresearch/detectron2
نماذج التجزئة (الدلالية) - https://github.com/qubvel/segmentation_models.pytorch
EfficientDet (Obj Det، الدلالي قريبًا) - https://github.com/rwightman/efficiencydet-pytorch
الألبومات - https://github.com/albumentations-team/albumentations
كورنيا - https://github.com/kornia/kornia
ريب ديستيلر - https://github.com/HobbitLong/RepDistiller
torchdistill - https://github.com/yoshitomo-matsubara/torchdistill
التعلم المتري PyTorch - https://github.com/KevinMusgrave/pytorch-metric-learning
فاستاي - https://github.com/fastai/fastai
الكود هنا مرخص لـ Apache 2.0. لقد حرصت على التأكد من أن أي كود خاص بجهة خارجية تم تضمينه أو تعديله يحتوي على تراخيص متوافقة (مسموح بها) مثل MIT وBSD وما إلى ذلك. لقد بذلت جهدًا لتجنب أي تعارضات بين GPL وLGPL. ومع ذلك، تقع على عاتقك مسؤولية التأكد من امتثالك للتراخيص الواردة هنا وشروط أي تراخيص تابعة. حيثما ينطبق ذلك، قمت بربط المصادر/المراجع للمكونات المختلفة في المستندات. إذا كنت تعتقد أنني فاتني أي شيء، يرجى إنشاء مشكلة.
حتى الآن، جميع الأوزان المدربة مسبقًا المتوفرة هنا تم تدريبها مسبقًا على ImageNet مع عدد قليل محدد يحتوي على بعض التدريب المسبق الإضافي (انظر الملاحظة الإضافية أدناه). تم إصدار ImageNet لأغراض بحثية غير تجارية فقط (https://image-net.org/download). ليس من الواضح ما هي الآثار المترتبة على ذلك بالنسبة لاستخدام الأوزان المدربة مسبقًا من مجموعة البيانات تلك. أي نماذج قمت بتدريبها باستخدام ImageNet يتم إجراؤها لأغراض البحث وينبغي للمرء أن يفترض أن ترخيص مجموعة البيانات الأصلية ينطبق على الأوزان. من الأفضل طلب المشورة القانونية إذا كنت تنوي استخدام الأوزان المدربة مسبقًا في منتج تجاري.
تم تدريب العديد من الأوزان أو المراجع هنا مسبقًا باستخدام مجموعات بيانات خاصة لا يمكنني الوصول إليها. وتشمل هذه نماذج Facebook WSL وSSL وSWSL ResNe(Xt) ونماذج Google Noisy Student EfficientNet. تتمتع نماذج Facebook بترخيص صريح غير تجاري (CC-BY-NC 4.0، https://github.com/facebookresearch/semi-supervised-ImageNet1K-models، https://github.com/facebookresearch/WSL-Images) . لا يبدو أن نماذج Google لديها أي قيود تتجاوز ترخيص Apache 2.0 (ومخاوف ImageNet). في كلتا الحالتين ، يجب عليك الاتصال بـ Facebook أو Google مع أي أسئلة.
misc {rw2019timm ، upluct = {ross wightman} ، title = {pytorch image models} ، year = {2019} ، publisher = {github} ، journal = {github repository} ، doi = {10.5281/zenodo.4414861} = {url {https://github.com/rwightman/pytorch-emage-models}}}