انسخ مشاريع الرؤية المخصصة الخاصة بك وانسخها احتياطيًا

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

تعمل واجهات برمجة التطبيقات ExportProject و ImportProject على تمكين هذا السيناريو من خلال السماح لك بنسخ المشاريع من أحد حسابات Custom Vision إلى حسابات أخرى. يوضح لك هذا الدليل كيفية استخدام واجهات برمجة تطبيقات REST مع cURL. يمكنك أيضا استخدام خدمة طلب HTTP، مثل عميل REST ل Visual Studio Code، لإصدار الطلبات.

تلميح

للحصول على مثال لهذا السيناريو باستخدام مكتبة عميل Python، راجع مستودع Move Custom Vision Project على GitHub.

تلميح

إذا كنت ترغب في نقل مشروع الرؤية المخصصة إلى Azure الذكاء الاصطناعي Vision Image Analysis 4.0، فشاهد دليل الترحيل. لمقارنة الخدمتين، راجع صفحة المقارنة.

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

  • موردان من Azure الذكاء الاصطناعي Custom Vision. إذا لم يكن لديك، فانتقل إلى مدخل Microsoft Azure و أنشئ مورد رؤية مخصصًا جديدًا .
  • مفاتيح التدريب وعناوين URL لنقاط النهاية لموارد الرؤية المخصصة الخاصة بك. يمكنك العثور على هذه القيم في علامة التبويب Overview للمورد في مدخل Microsoft Azure.
  • تم إنشاء مشروع Custom Vision. راجع إنشاء مصنف للحصول على إرشادات حول كيفية القيام بذلك.

نظرة عامة على العملية

تتكون عملية نسخ المشروع من الخطوات الآتية:

  1. أولاً، يمكنك أن تحصل على معرف المشروع في حساب المصدر الذي تريد نسخه.
  2. ثم تقوم باستدعاء API ExportProject باستخدام معرف المشروع ومفتاح التدريب لحساب المصدر الخاص بك. سوف تحصل على سلسلة رمز مؤقت.
  3. ثم تقوم باستدعاء API ImportProject باستخدام سلسلة الرمز المميز ومفتاح التدريب لحسابك المستهدف. ثم بعد ذلك سيتم إدراج المشروع ضمن حسابك الهدف.

احصل على معرّف المشروع

اتصل أولاً بـ GetProjects للاطلاع على قائمة بمشاريع الرؤية المخصصة الحالية ومعرفاتها. استخدم مفتاح التدريب ونقطة النهاية لحساب المصدر الخاص بك.

curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects"
-H "Training-key: {training key}"

ستحصل على استجابة 200\OK بقائمة من المشاريع وبيانات التعريف الوصفية في النص الأساسي. القيمة "id" هي السلسلة المراد نسخها للخطوات التالية.

[
  {
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "string",
    "description": "string",
    "settings": {
      "domainId": "00000000-0000-0000-0000-000000000000",
      "classificationType": "Multiclass",
      "targetExportPlatforms": [
        "CoreML"
      ],
      "useNegativeSet": true,
      "detectionParameters": "string",
      "imageProcessingSettings": {
        "augmentationMethods": {}
      }
    },
    "created": "string",
    "lastModified": "string",
    "thumbnailUri": "string",
    "drModeEnabled": true,
    "status": "Succeeded"
  }
]

تصدير المشروع

اتصل بـ ExportProject باستخدام معرف المشروع ومفتاح تدريب المصدر ونقطة النهاية.

curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects/{projectId}/export"
-H "Training-key: {training key}"

ستحصل على 200/OK استجابة ببيانات التعريف وصفية حول المشروع الذي تم تصديره وسلسلة مرجعية "token". انسخ قيمة الرمز المميز.

{
  "iterationCount": 0,
  "imageCount": 0,
  "tagCount": 0,
  "regionCount": 0,
  "estimatedImportTimeInMS": 0,
  "token": "string"
}

تلميح

إذا تلقيت خطأ "رمز غير صالح" عند استيراد المشروع الخاص بك، فمن المحتمل أن سلسلة عنوان URL للرمز ليست مشفرة على الويب. يمكنك تشفير الرمز باستخدام URL Encoder .

قم باستيراد المشروع

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

curl -v -G -X POST "{endpoint}/customvision/v3.3/Training/projects/import"
--data-urlencode "token={token}" --data-urlencode "name={name}"
-H "Training-key: {training key}" -H "Content-Length: 0"

ستحصل على استجابة 200/OK بيانات التعريف الوصفية حول المشروع الخاص بك المستورد حديثًا.

{
  "id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "description": "string",
  "settings": {
    "domainId": "00000000-0000-0000-0000-000000000000",
    "classificationType": "Multiclass",
    "targetExportPlatforms": [
      "CoreML"
    ],
    "useNegativeSet": true,
    "detectionParameters": "string",
    "imageProcessingSettings": {
      "augmentationMethods": {}
    }
  },
  "created": "string",
  "lastModified": "string",
  "thumbnailUri": "string",
  "drModeEnabled": true,
  "status": "Succeeded"
}

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

في هذا الدليل، تعلمت كيفية نسخ مشروع ونقله بين موارد الرؤية المخصصة. بعد ذلك، استكشف الوثائق المرجعية لواجهة برمجة التطبيقات لمعرفة ما يمكنك فعله باستخدام ميزة Custom Vision.