Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Объявление о запуске функции копирования моделей для пользовательских этикеток Amazon Rekognition.

Пользовательские ярлыки Amazon Rekognition — это полностью управляемый сервис компьютерного зрения, который позволяет разработчикам создавать собственные модели для классификации и идентификации объектов на изображениях, которые являются специфичными и уникальными для вашего бизнеса. Rekognition Custom Labels не требует от вас каких-либо предварительных знаний в области компьютерного зрения. Например, вы можете найти свой логотип в публикациях в социальных сетях, идентифицировать свою продукцию на полках магазинов, классифицировать детали машин на сборочной линии, отличать здоровые и зараженные растения или обнаруживать анимированных персонажей в видеороликах.

Разработка собственной модели для анализа изображений — это серьезная задача, требующая времени, опыта и ресурсов, на выполнение которой часто уходят месяцы. Кроме того, часто требуются тысячи или десятки тысяч изображений, помеченных вручную, чтобы предоставить модели достаточно данных для точного принятия решений. Сбор этих данных может занять месяцы, и для их подготовки к использованию в машинном обучении (ML) потребуются большие команды разработчиков этикеток.

Rekognition Custom Labels основывается на существующих возможностях Апостол, которые уже обучены на десятках миллионов изображений во многих категориях. Вместо тысяч изображений вам просто нужно загрузить небольшой набор обучающих изображений (обычно несколько сотен изображений или меньше), которые соответствуют вашему сценарию использования, с помощью консоли Amazon Rekognition. Если изображения уже помечены, вы можете начать обучение модели всего за несколько кликов. Если нет, вы можете пометить их непосредственно в консоли Rekognition Custom Labels или использовать Amazon 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 в своей учетной записи AWS и делиться моделями с пользователями через учетные записи AWS.
  • Стабильная производительность – Производительность модели теперь одинакова для разных учетных записей AWS. Обучение модели, как правило, недетерминировано, и две модели, обученные с использованием одного и того же набора данных, не гарантируют одинаковые показатели производительности и одинаковые прогнозы. Копирование модели помогает убедиться, что поведение скопированной модели соответствует исходной модели, устраняя необходимость повторного тестирования модели.

Обзор решения

На следующей диаграмме показана архитектура нашего решения.

В этом посте предполагается, что вы обучили модель пользовательских меток Rekognition в исходной учетной записи. Инструкции см. Обучение пользовательской модели обнаружения объектов одного класса с помощью настраиваемых меток Amazon Rekognition. В этом посте мы использовали проект классификации изображений «Комнаты» из Rekognition Custom Labels. примерный список проектов и обучили модель классификации помещений в исходном аккаунте для классификации изображений кухонь, ванных комнат, гостиных и т. д.

Чтобы продемонстрировать функциональность функции копирования модели, мы выполним следующие шаги в исходной учетной записи:

  1. Запустите модель и выполните выводы на образцах изображений.
  2. Определите политику на основе ресурсов, чтобы разрешить доступ между учетными записями для копирования модели пользовательских меток Rekognition.

Затем мы копируем исходную модель в целевой аккаунт.

  1. Создать Простой сервис хранения Amazon (Amazon S3), который служит контейнером для оценки модели и статистики производительности.
  2. Создайте проект.
  3. Скопируйте обученную модель из исходной учетной записи в целевую учетную запись.
  4. Запустите модель и выполните вывод на образцах изображений.
  5. Убедитесь, что результаты вывода соответствуют результатам модели исходного аккаунта.

Предпосылки

Помимо наличия обученной модели в исходной учетной записи, обязательно выполните следующие обязательные шаги:

  1. Установите AWS CLI V2.
  2. Настройте интерфейс командной строки AWS с помощью следующего кода и введите свой регион:
    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, на котором показан задний двор.

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

См. следующий код вывода и выходные данные:

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, на котором изображена спальня.

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

См. следующий код вывода и выходные данные:

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.

Создайте новый проект со следующим кодом:

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 поле. Мы используем это значение в следующей команде копирования модели.

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или опробуйте пошаговое руководство, приведенное в этом посте, используя облачную оболочку с интерфейсом командной строки AWS.

На момент написания этой статьи функция копирования модели в Amazon Rekognition Custom Labels доступна в следующих регионах:

  • США Восток (Огайо)
  • Восток США (Северная Вирджиния)
  • Запад США (Орегон)
  • Азиатско-Тихоокеанский регион (Мумбаи)
  • Азиатско-Тихоокеанский регион (Сеул)
  • Азиатско-Тихоокеанский регион (Сингапур)
  • Азиатско-Тихоокеанский регион (Сидней)
  • Азиатско-Тихоокеанский регион (Токио)
  • ЕС (Франкфурт)
  • ЕС (Ирландия)
  • ЕС (Лондон)

Попробуйте эту функцию и отправьте нам отзыв либо через Форум AWS для Amazon Rekognition или через контакты службы поддержки AWS.


Об авторах

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Амит Гупта является старшим архитектором решений AI Services в AWS. Он увлечен предоставлением клиентам хорошо спроектированных решений машинного обучения в масштабе.

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Йогеш Чатурведи — архитектор решений в AWS, специализирующийся на компьютерном зрении. Он работает с клиентами над решением их бизнес-задач с помощью облачных технологий. Вне работы он любит ходить в походы, путешествовать и смотреть спортивные передачи.

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Аакаш Дип — старший инженер-программист в AWS. Ему нравится работать над компьютерным зрением, искусственным интеллектом и распределенными системами. Помимо работы, он любит пешие прогулки и путешествия.

Объявляем о запуске функции копирования модели для Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.Пашмин Мистри является старшим менеджером по продуктам для пользовательских этикеток Amazon Rekognition. Вне работы Пашмин любит авантюрные походы, фотографирует и проводит время со своей семьей.

Отметка времени:

Больше от Машинное обучение AWS