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

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

هام

يعد دعم تدريب نماذج الرؤية الحاسوبية باستخدام التعلم الآلي من Microsoft Azure في التعلم الآلي من Microsoft Azure ميزة تجريبية للمعاينة العامة. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

في هذه المقالة، ستتعرف على كيفية تحضير بيانات الصور لتدريب نماذج الرؤية الحاسوبية باستخدام التعلم الآلي في التعلم الآلي من Microsoft Azure.

لإنشاء نماذج لمهام الرؤية الحاسوبية باستخدام التعلم الآلي، تحتاج إلى إحضار بيانات الصور المصنفة كمدخلات لتدريب النموذج في شكل MLTable.

يمكنك إنشاء MLTable من بيانات التدريب المسمى بتنسيق JSONL. إذا كانت بيانات التدريب المسماة بتنسيق مختلف (مثل، pascal VOC أو COCO)، يمكنك استخدام برنامج نصي للتحويل لتحويله أولا إلى JSONL، ثم إنشاء MLTable. بدلاً من ذلك، يمكنك استخدام أداة تسمية البيانات في التعلم الآلي من Azure لتسمية الصور يدويًا وتصدير البيانات المصنفة لاستخدامها في تدريب نموذج AutoML الخاص بك.

المتطلبات الأساسية

احصل على البيانات المصنفة

لتدريب نماذج الرؤية الحاسوبية باستخدام AutoML، تحتاج أولاً إلى الحصول على بيانات تدريب مصنفة. يجب تحميل الصور إلى السحابة ويجب أن تكون التعليقات التوضيحية على الملصق بتنسيق JSONL. يمكنك إما استخدام أداة Azure التعلم الآلي Data Labeling لتسمية بياناتك أو يمكنك البدء ببيانات الصورة المسماة مسبقا.

استخدام أداة Azure التعلم الآلي Data Labeling لتسمية بيانات التدريب الخاصة بك

إذا لم يكن لديك بيانات مسماة مسبقا، يمكنك استخدام أداة تسمية البيانات في Azure التعلم الآلي لتسمية الصور يدويا. تقوم هذه الأداة تلقائياً بإنشاء البيانات المطلوبة للتدريب بالتنسيق المقبول.

يساعد على إنشاء وإدارة ومراقبة مهام تسمية البيانات لـ

  • تصنيف الصور (متعدد الفئات ومتعدد الملصقات)
  • كشف العنصر (مربع الإحاطة)
  • تجزئة المثيل (مضلع)

إذا كنت قد قمت بالفعل بتسمية البيانات التي تريد استخدامها، يمكنك تصدير البيانات المسماة ك Azure التعلم الآلي Dataset ثم الوصول إلى مجموعة البيانات ضمن علامة التبويب "Datasets" في Azure التعلم الآلي studio. يمكن بعد ذلك تمرير مجموعة البيانات المصدرة هذه كمدخل باستخدام azureml:<tabulardataset_name>:<version> التنسيق. فيما يلي مثال على كيفية تمرير مجموعة البيانات الحالية كمدخل لتدريب نماذج رؤية الكمبيوتر.

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

training_data:
  path: azureml:odFridgeObjectsTrainingDataset:1
  type: mltable
  mode: direct

استخدام بيانات التدريب مسبقة التسمية من الجهاز المحلي

إذا قمت بتسمية البيانات التي ترغب في استخدامها لتدريب النموذج الخاص بك، فأنت بحاجة إلى تحميل الصور إلى Azure. يمكنك تحميل الصور إلى Azure Blob Storage الافتراضي لمساحة عمل Azure التعلم الآلي وتسجيلها كأصل بيانات.

يقوم البرنامج النصي التالي بتحميل بيانات الصورة على جهازك المحلي في المسار "./data/odFridgeObjects" إلى مخزن البيانات في Azure Blob Storage. ثم يقوم بإنشاء أصل بيانات جديد باسم "ثلاجة-items-images-object-detection" في مساحة عمل Azure التعلم الآلي.

إذا كان هناك بالفعل أصل بيانات باسم "ثلاجة-items-images-object-detection" في مساحة عمل Azure التعلم الآلي، فإنه يحدث رقم إصدار أصل البيانات ويشيره إلى الموقع الجديد حيث تم تحميل بيانات الصورة.

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

إنشاء ملف .yml بالتكوين التالي.

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: ./data/odFridgeObjects
type: uri_folder

لتحميل الصور كأصل بيانات، يمكنك تشغيل الأمر CLI v2 التالي مع المسار إلى ملف .yml واسم مساحة العمل ومجموعة الموارد ومعرف الاشتراك.

az ml data create -f [PATH_TO_YML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]

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

ينطبق على:ملحق CLI للتعلم الآلي من Microsoft Azure v2 (الحالي)

إنشاء ملف .yml بالتكوين التالي.

$schema: https://azuremlschemas.azureedge.net/latest/data.schema.json
name: fridge-items-images-object-detection
description: Fridge-items images Object detection
path: azureml://subscriptions/<my-subscription-id>/resourcegroups/<my-resource-group>/workspaces/<my-workspace>/datastores/<my-datastore>/paths/<path_to_image_data_folder>
type: uri_folder

بعد ذلك، تحتاج إلى الحصول على التعليقات التوضيحية للتسمية بتنسيق JSONL. يعتمد مخطط البيانات المصنفة على مهمة الرؤية الحاسوبية في متناول اليد. راجع مخططات ملفات JSONL لتجارب الرؤية الحاسوبية AutoML لمعرفة المزيد حول مخطط JSONL المطلوب لكل نوع مهمة.

إذا كانت بيانات التدريب الخاصة بك بتنسيق مختلف (مثل، pascal VOC أو COCO)، فإن البرامج النصية المساعدة لتحويل البيانات إلى JSONL متاحة في أمثلة على الكمبيوتر المحمول.

بمجرد إنشاء ملف jsonl باتباع الخطوات المذكورة أعلاه، يمكنك تسجيله كأصل بيانات باستخدام واجهة المستخدم. تأكد من تحديد stream النوع في قسم المخطط كما هو موضح في هذه الحركة.

رسم متحرك يوضح كيفية تسجيل أصل بيانات من ملفات jsonl

استخدام بيانات التدريب مسبقة التسمية من تخزين Azure Blob

إذا كان لديك بيانات التدريب المسماة موجودة في حاوية في تخزين Azure Blob، فيمكنك الوصول إليها مباشرة من هناك عن طريق إنشاء مخزن بيانات يشير إلى تلك الحاوية.

إنشاء MLTable

بمجرد أن يكون لديك البيانات المسماة بتنسيق JSONL، يمكنك استخدامها لإنشاء MLTable كما هو موضح في مقتطف yaml هذا. تقوم MLtable بتجميع بياناتك في عنصر مستهلك للتدريب.

paths:
  - file: ./train_annotations.jsonl
transformations:
  - read_json_lines:
        encoding: utf8
        invalid_lines: error
        include_path_column: false
  - convert_column_types:
      - columns: image_url
        column_type: stream_info

يمكنك بعد ذلك تمرير MLTable كمدخل بيانات لمهمة تدريب AutoML.

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