شعار زيفيرنت

الإعلان عن إطلاق ميزة نسخ النموذج لملصقات Amazon Rekognition المخصصة

التاريخ:

تسميات Amazon Rekognition المخصصة هي خدمة رؤية حاسوبية مُدارة بالكامل تسمح للمطورين ببناء نماذج مخصصة لتصنيف وتحديد الكائنات في الصور التي تكون محددة وفريدة من نوعها لعملك. لا تتطلب منك Rekognition Custom Labels أن يكون لديك أي خبرة سابقة في رؤية الكمبيوتر. على سبيل المثال ، يمكنك العثور على شعارك في منشورات وسائل التواصل الاجتماعي ، أو تحديد منتجاتك على أرفف المتاجر ، أو تصنيف أجزاء الماكينة في خط تجميع ، أو تمييز النباتات الصحية والمصابة ، أو اكتشاف الشخصيات المتحركة في مقاطع الفيديو.

يعد تطوير نموذج مخصص لتحليل الصور مهمة مهمة تتطلب وقتًا وخبرة وموارد ، وغالبًا ما يستغرق إكمالها شهورًا. بالإضافة إلى ذلك ، غالبًا ما يتطلب الأمر آلاف أو عشرات الآلاف من الصور المسمى يدويًا لتزويد النموذج ببيانات كافية لاتخاذ القرارات بدقة. قد يستغرق إنشاء هذه البيانات شهورًا لتجميعها ويتطلب فرقًا كبيرة من المصممين لإعدادها للاستخدام في التعلم الآلي (ML).

تعتمد Rekognition Custom Labels على الإمكانات الحالية لـ الأمازون إعادة الاعتراف، والتي تم تدريبها بالفعل على عشرات الملايين من الصور عبر العديد من الفئات. بدلاً من آلاف الصور ، تحتاج ببساطة إلى تحميل مجموعة صغيرة من صور التدريب (عادةً بضع مئات من الصور أو أقل) المخصصة لحالة الاستخدام الخاصة بك باستخدام وحدة تحكم Amazon Rekognition. إذا تم تصنيف الصور بالفعل ، يمكنك البدء في تدريب نموذج ببضع نقرات فقط. إذا لم يكن الأمر كذلك ، فيمكنك تسميتها مباشرة على وحدة التحكم Rekognition Custom Labels ، أو استخدامها الحقيقة الأمازون SageMaker الأرض لتصنيفهم. تستخدم Rekognition Custom Labels تعلم النقل لفحص بيانات التدريب تلقائيًا ، وتحديد إطار النموذج الصحيح والخوارزمية ، وتحسين المعلمات الفائقة ، وتدريب النموذج. عندما تكون راضيًا عن دقة النموذج ، يمكنك البدء في استضافة النموذج المدرب بنقرة واحدة فقط.

يسعدنا اليوم أن نعلن عن إطلاق ميزة نسخ نموذج Rekognition Custom Labels. تتيح لك هذه الميزة نسخ نماذج Rekognition Custom Labels الخاصة بك عبر المشاريع ، والتي يمكن أن تكون في نفس حساب AWS أو عبر حسابات AWS في نفس منطقة AWS ، دون إعادة تدريب النماذج من البداية. تسهل هذه الإمكانية الجديدة عليك نقل نماذج Rekognition Custom Labels عبر بيئات مختلفة مثل التطوير وضمان الجودة والتكامل والإنتاج دون الحاجة إلى نسخ مجموعات بيانات التدريب والاختبار الأصلية وإعادة تدريب النموذج. يمكنك استخدام ال واجهة سطر الأوامر AWS (AWS CLI) لنسخ النماذج المدربة عبر المشاريع ، والتي يمكن أن تكون في نفس حساب AWS أو عبر حسابات AWS.

في هذا المنشور ، نوضح لك كيفية نسخ النماذج بين حسابات AWS المختلفة في نفس منطقة AWS.

فوائد ميزة نسخ النموذج

هذه الميزة الجديدة لها الفوائد التالية:

  • أفضل ممارسات ML-Ops متعددة الحسابات - يمكنك تدريب نموذج مرة واحدة وضمان نشر يمكن التنبؤ به بنتائج متسقة عبر حسابات متعددة تم تعيينها لبيئات مختلفة مثل التطوير وضمان الجودة والتكامل والإنتاج مما يسمح لك باتباع أفضل ممارسات ML-Ops داخل مؤسستك.
  • توفير التكاليف ونشر أسرع - يمكنك نسخ نموذج مدرب بسرعة بين الحسابات ، مع تجنب الوقت المستغرق لإعادة التدريب في كل حساب وتوفير تكلفة إعادة تدريب النموذج.
  • حماية مجموعات البيانات الحساسة - لم تعد بحاجة إلى مشاركة مجموعات البيانات بين حسابات أو مستخدمين مختلفين في AWS. يجب أن تكون بيانات التدريب متاحة فقط على حساب AWS حيث يتم إجراء التدريب النموذجي. هذا مهم جدًا لبعض الصناعات ، حيث يكون عزل البيانات ضروريًا لتلبية متطلبات العمل أو المتطلبات التنظيمية.
  • تعاون سهل - يمكن للشركاء أو البائعين الآن تدريب نموذج Amazon Rekognition Custom Labels بسهولة في حساب AWS الخاص بهم ومشاركة النماذج مع المستخدمين عبر حسابات AWS.
  • أداء ثابت - أداء النموذج متسق الآن عبر حسابات AWS المختلفة. يعد تدريب النموذج بشكل عام غير حتمي ، ولا يضمن نموذجان تم تدريبهما باستخدام نفس مجموعة البيانات نفس درجات الأداء ونفس التنبؤات. يساعد نسخ النموذج في التأكد من توافق سلوك النموذج المنسوخ مع النموذج المصدر مما يلغي الحاجة إلى إعادة اختبار النموذج.

حل نظرة عامة

يوضح الرسم البياني التالي بنية الحلول لدينا.

يفترض هذا المنشور أنك قمت بتدريب نموذج Rekognition Custom Labels في حسابك المصدر. للحصول على تعليمات ، راجع تدريب نموذج مخصص لاكتشاف كائن من فئة واحدة باستخدام Amazon Rekognition Custom Labels. في هذا المنشور ، استخدمنا مشروع تصنيف الصور "الغرف" من Rekognition Custom Labels قائمة المشاريع عينة وقم بتدريب نموذج تصنيف الغرف في حساب المصدر لتصنيف صور المطابخ والحمامات وغرف المعيشة والمزيد.

لتوضيح وظيفة ميزة نسخ النموذج ، ننتقل من خلال الخطوات التالية في حساب المصدر:

  1. ابدأ النموذج وقم بتشغيل الاستدلالات على عينة من الصور.
  2. حدد سياسة قائمة على الموارد للسماح بالوصول عبر الحسابات لنسخ نموذج Rekognition Custom Labels.

ثم نقوم بنسخ النموذج المصدر إلى الحساب الهدف.

  1. خلق خدمة تخزين أمازون البسيطة (Amazon S3) ، والذي يعمل كحاوية لتقييم النموذج وإحصاءات الأداء.
  2. أنشئ مشروعًا.
  3. انسخ النموذج المدرب من الحساب المصدر إلى الحساب المستهدف.
  4. ابدأ النموذج وقم بتشغيل الاستدلال على عينات الصور.
  5. تحقق من تطابق نتائج الاستدلال مع نتائج نموذج الحساب المصدر.

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

بالإضافة إلى وجود نموذج مدرب في حساب المصدر الخاص بك ، تأكد من إكمال الخطوات الأساسية التالية:

  1. قم بتثبيت AWS CLI V2.
  2. قم بتكوين AWS CLI الخاص بك بالرمز التالي وأدخل منطقتك:
    aws configure

  3. قم بتشغيل الأوامر التالية للتأكد من تثبيت AWS CLI الإصدار 2.xx على مضيفك المحلي:
    aws --version

  4. قم بتحديث ملف بيانات اعتماد AWS الموجود ضمن $HOME/.aws/credentials مع الإدخال التالي:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. الحصول على ProjectArn و ProjectVersionArn لحساب AWS المصدر.ProjectArn هو المشروع المرتبط بنموذج المصدر الخاص بك. ProjectVersionArn هو إصدار النموذج الذي ترغب في نسخه إلى الحساب الهدف. يمكنك العثور على ملف SourceProjectArn باستخدام الأمر التالي:
    aws rekognition describe-projects 
    --region us-east-1 
    --profile source-account
    
    {
        "ProjectDescriptions": [{
            "ProjectArn": "arn:aws:rekognition:us-east-1::111111111111:project/rooms_1/1657588855531",
            .
            .
        }]
    }

    إذا رأيت عدة أسطر إخراج ، فاختر ProjectArn المرتبطة بالنموذج الذي ستقوم بنسخه.

    يمكنك العثور على SourceProjectVersionArn للنموذج الذي قمت بتدريبه باستخدام SourceProjectArn (الإخراج السابق). استبدل ملف SourceProjectArn في الأمر التالي:

    aws rekognition describe-project-versions 
    --project-arn SourceProjectArn 
    --region us-east-1 
    --profile source-account

    يقوم الأمر بإرجاع ملف SourceProjectVersionArn. إذا رأيت عدة أسطر إخراج ، فاختر ProjectVersionArn من الفائدة.

    {
        "ProjectVersionDescriptions": [
            {
                "ProjectVersionArn": "arn:aws:rekognition:us-east-1:111111111111:project/rooms_1/version/rooms_1.2022-07-12T09.39.36/1657643976475",
                .
                .
            }
        ]
    }

أنت الآن جاهز لتنفيذ الخطوات لتنفيذ الحل. استبدل قيم SourceProjectArn و SourceProjectVersionArn في الأوامر التالية مع القيم التي أنشأتها.

1. ابدأ النموذج وقم بتشغيل الاستدلال على عينة من الصور

في حساب المصدر ، أدخل الكود التالي لبدء النموذج:

aws rekognition start-project-version 
--project-version-arn SourceProjectVersionArn 
--min-inference-units 1 
--region us-east-1 
--profile source-account
{
    "Status": "STARTING"
}

بعد استضافة النموذج وفي حالة التشغيل ، يمكنك تشغيل الاستدلال.

استخدمنا الصور التالية (demo1.jpeg و demo2.jpeg) لتشغيل الاستدلال. توجد هذه الصور في نظام الملفات المحلي لدينا في نفس الدليل الذي يتم تشغيل أوامر AWS CLI منه.

الصورة التالية هي demo1.jpeg ، والتي تظهر الفناء الخلفي.

راجع كود الاستدلال والمخرج التالي:

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo1.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }

الصورة التالية هي demo2.jpeg ، والتي تُظهر غرفة نوم.

راجع كود الاستدلال والمخرج التالي:

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo2.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672
 }

تظهر نتائج الاستدلال أن الصورة تنتمي إلى الفئات backyard و bedroom، بدرجة ثقة 45.77 و 61.84 على التوالي.

2. تحديد سياسة موارد IAM للنموذج المدرب للسماح بالوصول عبر الحسابات

لإنشاء سياسة IAM القائمة على الموارد ، أكمل الخطوات التالية في حساب المصدر:

  1. اسمح لحساب AWS الخاص بك بالوصول إلى الموارد باستخدام سياسة موارد IAM المتوفرة (لمزيد من المعلومات ، يرجى الرجوع إلى إنشاء وثيقة سياسة المشروع. استبدل قيم TargetAWSAccountId و SourceProjectVersionArn في السياسة التالية:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. أرفق السياسة بالمشروع في حساب المصدر عن طريق استدعاء الأمر التالي.
    aws rekognition put-project-policy 
    --project-arn SourceProjectArn 
    --policy-name PolicyName 
    --policy-document '{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }' 
    --region us-east-1 
    --profile source-account

    استبدل SourceProjectArn, PolicyName, TargetAWSAccountIdو SourceProjectVersionArn.

    يُظهر الإخراج معرّف مراجعة السياسة الذي تم إنشاؤه:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

نحن الآن جاهزون لنسخ النموذج المدرب من الحساب المصدر إلى الحساب المستهدف.

3. قم بإنشاء حاوية S3 في الحساب الهدف

يمكنك استخدام حاوية S3 موجودة في حسابك أو إنشاء حاوية S3 جديدة. بالنسبة لهذا المنشور ، نسمي دلو S3 هذا DestinationS3Bucket.

4. إنشاء مشروع Rekognition Custom Labels جديد

أنشئ مشروعًا جديدًا بالرمز التالي:

aws rekognition create-project 
--project-name target_rooms_1 
--region us-east-1 
--profile target-account 

هذا يخلق TargetProjectArn في الحساب الهدف:

{
    "ProjectArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/1657599660206"
}

لاحظ قيمة المشروع الوجهة ProjectArn مجال. نستخدم هذه القيمة في الأمر copy model التالي.

5. انسخ النموذج من الحساب المصدر إلى الحساب الهدف

قم بتوفير المصدر والهدف ProjectArn، مصدر ProjectVersionArn، واستهدف دلو S3 وبادئة مفتاح S3 في الكود التالي:

aws rekognition copy-project-version 
--source-project-arn SourceProjectArn 
--source-project-version-arn SourceProjectVersionArn 
--destination-project-arn TargetProjectArn 
--version-name TargetVersionName 
--output-config '{"S3Bucket":"DestinationS3Bucket", "S3KeyPrefix":"DestinationS3BucketPrefix"}' 
--region us-east-1 
--profile target-account

يؤدي هذا إلى إنشاء نموذج منسوخ TargetProjectVersionArn في الحساب الهدف. ال TargetVersionName في حالتنا تم تسميته copy_rooms_1:

{
    "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079"
}

تحقق من حالة عملية نسخ النموذج:

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names TargetVersionName 
--region us-east-1 
--profile target-account

تكتمل نسخة النموذج من الحساب المصدر إلى الحساب الهدف عند اكتمال ملف Status تغيير الى COPYING_COMPLETED:

 {
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "Status": "COPYING_COMPLETED",
            "StatusMessage": "Model copy operation was successful",
            ..........
            ..........
            "EvaluationResult": {
                "F1Score": 0.0,
                "Summary": {

6. ابدأ النموذج وقم بتشغيل الاستنتاج

أدخل الكود التالي لبدء النموذج في الحساب الهدف:

aws rekognition start-project-version 
--project-version-arn TargetProjectArn 
--min-inference-units 1 
--region us-east-1 
--profile target-account
{
    "Status": "STARTING"
}

تحقق من حالة النموذج:

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names copy_rooms_1 
--region us-east-1 
--profile target-account

النموذج مستضاف وقيد التشغيل الآن:

{
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "MinInferenceUnits": 1,
            "Status": "RUNNING",
            "StatusMessage": "The model is running.",
            ..........
            ..........
        }
    ]
}

قم بتشغيل الاستدلال بالكود التالي:

aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo1.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }
aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo2.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672

7. تحقق من تطابق نتائج الاستدلال

يجب أن تتطابق الفئات ودرجات الثقة للصورتين demo1.jpg و demo2.jpg في الحساب الهدف مع النتائج في الحساب المصدر.

وفي الختام

في هذا المنشور ، أظهرنا ميزة نسخ نموذج Rekognition Custom Label. تمكنك هذه الميزة من تدريب تصنيف أو نموذج اكتشاف كائن في حساب واحد ثم مشاركة النموذج مع حساب آخر في نفس المنطقة. يعمل هذا على تبسيط إستراتيجية الحسابات المتعددة حيث يمكن تدريب النموذج مرة واحدة ومشاركته بين الحسابات داخل نفس المنطقة دون الحاجة إلى إعادة تدريب مجموعات بيانات التدريب أو مشاركتها. يسمح هذا بالنشر القابل للتنبؤ في كل حساب كجزء من سير عمل MLOps الخاص بك. لمزيد من المعلومات ، يرجى الرجوع إلى نسخ نموذج Amazon Rekognition Custom Labels، أو جرب الإرشادات التفصيلية في هذا المنشور باستخدام shell cloud مع AWS CLI.

حتى كتابة هذه السطور ، تتوفر ميزة نسخ النموذج في Amazon Rekognition Custom Labels في المناطق التالية:

  • شرق الولايات المتحدة (أوهايو)
  • شرق الولايات المتحدة (فرجينيا الشمالية)
  • غرب الولايات المتحدة (أوريغون)
  • آسيا والمحيط الهادئ (مومباي)
  • آسيا والمحيط الهادئ (سيول)
  • آسيا والمحيط الهادئ (سنغافورة)
  • آسيا والمحيط الهادئ (سيدني)
  • آسيا والمحيط الهادئ (طوكيو)
  • الاتحاد الأوروبي (فرانكفورت)
  • الاتحاد الأوروبي (أيرلندا)
  • الاتحاد الأوروبي (لندن)

جرب هذه الميزة ، ويرجى إرسال التعليقات إلينا إما عبر منتدى AWS لـ Amazon Rekognition أو من خلال جهات اتصال دعم AWS.


عن المؤلفين

اميت غوبتا هو كبير مهندسي حلول خدمات الذكاء الاصطناعي في AWS. إنه متحمس لتمكين العملاء من خلال حلول التعلم الآلي المصممة جيدًا على نطاق واسع.

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

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

الباشمين ميستري هو كبير مديري المنتجات في Amazon Rekognition Custom Labels. خارج العمل ، يستمتع الباشمين برحلات المشي لمسافات طويلة والتصوير وقضاء الوقت مع أسرته.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة