المعلمات الفائقة لمهام رؤية الكمبيوتر باستخدام التعلم الآلي التلقائي

ينطبق على:ملحق التعلم الآلي من Azure CLI v2 (الحالي)Python SDK azure-ai-ml v2 (الحالي)

تعرّف على المعلمات الفائقة المتوفرة خصيصًا لمهام رؤية الكمبيوتر في تجارب التعلم الآلي التلقائي.

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

المعلمات الفائقة الخاصة بالنموذج

يلخص هذا الجدول المعلمات الفائقة الخاصة بالبنية yolov5 .

اسم المعلمة الوصف افتراضي
validation_metric_type أسلوب حساب القياس لاستخدامه مع قياسات التحقق من الصحة.
يجب أن يكون none أو coco أو voc أو coco_voc.
voc
validation_iou_threshold حد IOU لمطابقة المربع عند قياسات التحقق من صحة الحوسبة.
يجب أن يكون عددًا عشريًا في النطاق [0.1، 1].
0.5
image_size حجم الصورةِ للتدريب والتحقق من الصحة.
يجب أن تكون عدداً صحيحاً موجباً.

ملاحظة: قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرًا للغاية.
640
model_size حجم النموذج.
ينبغي أن يكون small أو medium أو large أو extra_large.

ملاحظة: قد يدخل تشغيل التدريب في CUDA OOM إذا كان حجم النموذج كبيرًا للغاية.
medium
multi_scale تمكين صورة متعددة المقاييس من خلال تغيير حجم الصورة بنسبة +/- 50%
لابد أن يكون 0 أو 1.

ملاحظة: قد يدخل تشغيل التدريب في CUDA OOM في حال لم تكن ذاكرة GPU كافية.
0
box_score_threshold خلال الاستدلال، تُرجع المقترحات فقط مع درجة أكبر من box_score_threshold. والنتيجة هي ضرب درجة العنصر واحتمال التصنيف.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.1
nms_iou_threshold حد IOU المستخدم خلال الاستدلال في معالجة ما بعد المنع غير الأقصى.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.5
tile_grid_size حجم الشبكة المراد استخدامه لتجانب كل صورة.
ملاحظة: يجب ألا يكون tile_grid_size خاليًا لتمكين منطق الكشف عن العناصر الصغيرة
يجب تمريرها كسلسلة بتنسيق "3x2". مثال: --tile_grid_size '3x2'
لا افتراضي
tile_overlap_ratio نسبة التداخل بين التجانبات المتجاورة في كل بعد.
لابد أن يكون عددًا عشريًا في النطاق [0، 1)
0.25
tile_predictions_nms_threshold حد IOU لاستخدامه لأداء المنع غير الأقصى في أثناء دمج التنبؤات من التجانبات والصورة. يستخدم في التحقق من الصحة/ الاستدلال.
يجب أن يكون عددًا عشريًا في النطاق [0، 1]
0.25

يُلخص هذا الجدول المعلمات الفائقة الخاصة بـ maskrcnn_* لتجزئة المثيل خلال الاستدلال.

اسم المعلمة الوصف افتراضي
mask_pixel_score_threshold قطع النقاط لاعتبار بكسل جزءًا من قناع عنصر. 0.5
max_number_of_polygon_points الحد الأقصى لعدد أزواج الإحداثيات (س، ص) في المضلع بعد التحويل من قناع. 100
export_as_image تصدير الأقنعة كصور. خطأ
image_type نوع الصورة لتصدير قناع كـ (الخيارات هي jpg، png، bmp). JPG

المعلمات الفائقة غير المحددة للنموذج

يصف الجدول التالي المعلمات الفائقة غير المحددة للنموذج.

اسم المعلمة الوصف افتراضي
number_of_epochs عدد فترات التدريب.
يجب أن تكون عدداً صحيحاً موجباً.
15
(باستثناء yolov5: 30)
training_batch_size حجم دفعة التدريب.
يجب أن تكون عدداً صحيحاً موجباً.
متعدد الفئات/متعدد التسميات: 78
(باستثناء متغيرات vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

الكشف عن العناصر: 2
(باستثناء yolov5: 16)

تجزئة المثيل: 2

ملاحظة: الإعدادات الافتراضية هي أكبر حجم دُفعة يمكن استخدامه على ذاكرة GPU‏ 12 غيغابايت.
validation_batch_size حجم دُفعة التحقق من الصحة.
يجب أن تكون عدداً صحيحاً موجباً.
متعدد الفئات/متعدد التسميات: 78
(باستثناء متغيرات vit:
vits16r224: 128
vitb16r224: 48
vitl16r224:10)

الكشف عن العناصر: 1
(باستثناء yolov5: 16)

تجزئة المثيل: 1

ملاحظة: الإعدادات الافتراضية هي أكبر حجم دُفعة يمكن استخدامه على ذاكرة GPU‏ 12 غيغابايت.
gradient_accumulation_step يعني تراكم التدرج تشغيل عدد مكون من gradient_accumulation_step دون تحديث أوزان النموذج في أثناء تجميع تدرجات هذه الخطوات، ثم استخدام التدرجات المجمعة لحساب تحديثات الوزن.
يجب أن تكون عدداً صحيحاً موجباً.
1
early_stopping قم بتمكين منطق الإيقاف المبكر في أثناء التدريب.
لابد أن يكون 0 أو 1.
1
early_stopping_patience الحد الأدنى لعدد الفترات أو تقييمات التحقق من الصحة مع
عدم وجود تحسين قياسي أساسي قبل إيقاف التشغيل.
يجب أن تكون عدداً صحيحاً موجباً.
5
early_stopping_delay الحد الأدنى لعدد الفترات أو تقييمات التحقق من الصحة التي يجب انتظارها
قبل تتبع تحسين القياس الأساسي للإيقاف المبكر.
يجب أن تكون عدداً صحيحاً موجباً.
5
learning_rate معدل التعلم الأولي.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
متعدد الفئات: 0.01
(باستثناء متغيرات vit:
vits16r224: 0.0125
vitb16r224: 0.0125
vitl16r224: 0.001)

متعدد التسميات: 0.035
(باستثناء متغيرات vit:
vits16r224: 0.025
vitb16r224: 0.025
vitl16r224: 0.002)

الكشف عن العناصر: 0.005
(باستثناء yolov5: 0.01)

تجزئة المثيل: 0.005
learning_rate_scheduler نوع مُجدول معدل التعلم.
لابد أن يكون warmup_cosine أو step.
warmup_cosine
step_lr_gamma قيمة غاما عندما يكون مُجدول معدل التعلم هو step.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.5
step_lr_step_size قيمة حجم الخطوة عندما يكون مُجدول معدل التعلم هو step.
يجب أن تكون عدداً صحيحاً موجباً.
5
warmup_cosine_lr_cycles قيمة دورة جيب التمام عندما يكون مُجدول معدل التعلم هو warmup_cosine.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.45
warmup_cosine_lr_warmup_epochs قيمة فترات التجهيز عندما يكون مُجدول معدل التعلم هو warmup_cosine.
يجب أن تكون عدداً صحيحاً موجباً.
2
optimizer نوع المُحسِن.
لابد أن يكون إما sgd، أو adam، أو adamw.
sgd
momentum قيمة الزخم عندما يكون المُحسِن هو sgd.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.9
weight_decay قيمة تدهور الوزن عندما يكون المُحسِن هو sgd أو adam أو adamw.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
1e-4
nesterov مكّن nesterov عندما يكون المُحسِن هو sgd.
لابد أن يكون 0 أو 1.
1
beta1 قيمة beta1 عندما يكون المُحسِن هو adam أو adamw.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.9
beta2 قيمة beta2 عندما يكون المُحسِن هو adam أو adamw.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.999
ams_gradient مكّن ams_gradient عندما يكون المُحسِن هو adam أو adamw.
لابد أن يكون 0 أو 1.
0
evaluation_frequency قم بالتكرار لتقييم مجموعة بيانات التحقق من الصحة للحصول على درجات القياس.
يجب أن تكون عدداً صحيحاً موجباً.
1
checkpoint_frequency قم بالتكرار لتخزين نقاط فحص النموذج.
يجب أن تكون عدداً صحيحاً موجباً.
نقطة تحقق في فترة باستخدام أفضل مقياس أساسي للتحقق من الصحة.
checkpoint_run_id معرّف التشغيل للتجربة التي تحتوي على نقطة تحقق مُدربة مسبقاً للتدريب التزايدي. لا افتراضي
layers_to_freeze كم عدد الطبقات التي يجب تجميدها للنموذج الخاص بك. على سبيل المثال، تمرير 2 كقيمة لـ seresnext يعني تجميد الطبقة 0 والطبقة 1 بالإشارة إلى معلومات طبقة النموذج المدعومة أدناه.
يجب أن تكون عدداً صحيحاً موجباً.

- 'resnet': [('conv1.', 'bn1.'), 'layer1.', 'layer2.', 'layer3.', 'layer4.']
- 'mobilenetv2': ['features.0.', 'features.1.', 'features.2.', 'features.3.', 'features.4.', 'features.5.', 'features.6.', 'features.7.', 'features.8.', 'features.9.', 'features.10.', 'features.11.', 'features.12.', 'features.13.', 'features.14.', 'features.15.', 'features.16.', 'features.17.', 'features.18.']
- 'seresnext': ['layer0.', 'layer1.', 'layer2.', 'layer3.', 'layer4.'] * 'vit': ['patch_embed', 'blocks.0.', 'blocks.1.', 'blocks.2.', 'blocks.3.', 'blocks.4.', 'blocks.5.', 'blocks.6.','blocks.7.', 'blocks.8.', 'blocks.9.', 'blocks.10.', 'blocks.11.'] * 'yolov5_backbone': ['model.0.', 'model.1.', 'model.2.', 'model.3.', 'model.4.','model.5.', 'model.6.', 'model.7.', 'model.8.', 'model.9.']
- 'resnet_backbone': ['backbone.body.conv1.', 'backbone.body.layer1.', 'backbone.body.layer2.','backbone.body.layer3.', 'backbone.body.layer4.']
لا افتراضي

معلمات فائقة خاصة بتصنيف الصور (متعددة الفئات ومتعددة التسميات)

يُلخص الجدول التالي المعلمات الفائقة لمهام تصنيف الصور (متعددة الفئات ومتعددة التسميات).

اسم المعلمة الوصف افتراضي
model_name اسم النموذج الذي سيتم استخدامه لمهمة تصنيف الصور في متناول اليد.

يجب أن يكون واحدا من mobilenetv2، ، resnet18، resnet34resnet50، resnet101، resnet152، resnest50، resnest101، seresnext، vits16r224، ، . vitl16r224vitb16r224
seresnext
weighted_loss - 0 بدون خسارة مرجحة.
- 1 للخسارة المرجحة مع sqrt. (class_weights)
- 2 للخسارة المرجحة مع class_weights.
- يجب أن يكون 0 أو 1 أو 2.
0
validation_resize_size - حجم الصورة الذي يجب تغيير حجمه قبل الاقتصاص لمجموعة بيانات التحقق من الصحة.
- يجب أن يكون عددا صحيحا موجبا.

ملاحظات:
- seresnext لا يأخذ حجم عشوائي.
- قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرا
جدا.
256
validation_crop_size - حجم اقتصاص الصورة الذي يتم إدخاله إلى شبكتك العصبية لمجموعة بيانات التحقق من الصحة.
- يجب أن يكون عددا صحيحا موجبا.

ملاحظات:
- seresnext لا يأخذ حجم عشوائي.
- يجب أن يكون لمتغيرات ViT نفس validation_crop_size وtraining_crop_size.
- قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرا
جدا.
224
training_crop_size - حجم اقتصاص الصور الذي يتم إدخاله إلى شبكتك العصبية لتدريب مجموعة البيانات.
- يجب أن يكون عددا صحيحا موجبا.

ملاحظات:
- seresnext لا يأخذ حجم عشوائي.
- يجب أن يكون لمتغيرات ViT نفس validation_crop_size وtraining_crop_size.
- قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرا
جدا.
224

المعلمات الفائقة الخاصة بمهمة الكشف عن العناصر وتجزئة المثيل

المعلمات الفائقة التالية مخصصة لمهام الكشف عن العناصر وتجزئة المثيل.

تحذير

هذه المعلمات غير مدعومة yolov5 مع البنية. راجع قسم المعلمات الفائقة المحددة للنموذج للمعلمات الفائقة المدعومة yolov5.

اسم المعلمة الوصف افتراضي
model_name اسم النموذج الذي سيتم استخدامه لمهمة تصنيف الصور في متناول اليد.
- بالنسبة لمهمة الكشف عن الكائنات، يجب أن تكون واحدة من yolov5، ، fasterrcnn_resnet18_fpn، fasterrcnn_resnet34_fpn، fasterrcnn_resnet50_fpn، fasterrcnn_resnet101_fpn، fasterrcnn_resnet152_fpn. retinanet_resnet50_fpn
- بالنسبة لمهمة تجزئة المثيل، يجب أن تكون واحدة من maskrcnn_resnet18_fpn، ، maskrcnn_resnet34_fpn، maskrcnn_resnet50_fpn، maskrcnn_resnet101_fpnmaskrcnn_resnet152_fpn
- لمهمة الكشف عن الكائنات، fasterrcnn_resnet50_fpn
- لمهمة تجزئة المثيل، maskrcnn_resnet50_fpn
validation_metric_type أسلوب حساب القياس لاستخدامه مع قياسات التحقق من الصحة.
يجب أن يكون none أو coco أو voc أو coco_voc.
voc
validation_iou_threshold حد IOU لمطابقة المربع عند قياسات التحقق من صحة الحوسبة.
يجب أن يكون عددًا عشريًا في النطاق [0.1، 1].
0.5
min_size الحد الأدنى لحجم الصورة التي سيتم تغيير حجمها قبل إضافتها إلى العمود الفقري.
يجب أن تكون عدداً صحيحاً موجباً.

ملاحظة: قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرًا للغاية.
600
max_size الحد الأقصى لحجم الصورة التي سيتم تغيير حجمها قبل إضافتها إلى العمود الفقري.
يجب أن تكون عدداً صحيحاً موجباً.

ملاحظة: قد يدخل تشغيل التدريب في CUDA OOM إذا كان الحجم كبيرًا للغاية.
1333
box_score_threshold خلال الاستدلال، تُرجع المقترحات فقط مع درجة تصنيف أكبر من box_score_threshold.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.3
nms_iou_threshold حد IOU (التقاطع فوق الاتحاد) المستخدم في المنع غير الأقصى (NMS) لرأس التنبؤ. يستخدم خلال الاستدلال.
لابد أن يكون عددًا عشريًا في النطاق [0، 1].
0.5
box_detections_per_image الحد الأقصى لعدد عمليات الكشف لكل صورة، لجميع الفئات.
يجب أن تكون عدداً صحيحاً موجباً.
100
tile_grid_size حجم الشبكة المراد استخدامه لتجانب كل صورة.
- tile_grid_size يجب ألا يكون None لتمكين منطق الكشف عن الكائنات الصغيرة .
- tile_grid_size غير مدعوم لمهام تجزئة المثيل.
يجب تمريرها كسلسلة بتنسيق "3x2". مثال: --tile_grid_size '3x2'
لا افتراضي
tile_overlap_ratio نسبة التداخل بين التجانبات المتجاورة في كل بعد.
لابد أن يكون عددًا عشريًا في النطاق [0، 1)
0.25
tile_predictions_nms_threshold حد IOU لاستخدامه لأداء المنع غير الأقصى في أثناء دمج التنبؤات من التجانبات والصورة. يستخدم في التحقق من الصحة/ الاستدلال.
يجب أن يكون عددًا عشريًا في النطاق [0، 1]
0.25

الخطوات التالية