Ultralytics YOLO27:

Интеграция с Amazon S3#

Интеграция с Amazon S3 подключает твои бакеты S3 к Ultralytics Platform. Изображения остаются в твоих бакетах — платформа индексирует их на месте, поэтому ты можешь просматривать, аннотировать изображения и обучать модели YOLO, не загружая их копии.

Функция плана Pro

Для наборов данных Amazon S3 требуется тариф Pro или Enterprise. В бесплатных рабочих пространствах отображается интеграция и предлагается перейти на платный тариф при подключении. Существующие наборы данных Amazon S3 остаются полностью доступными после окончания подписки — только для новых подключений и импорта требуется Pro.

Создай пользователя IAM только для чтения#

Платформа только читает данные из твоего хранилища — она никогда не записывает, не изменяет и не удаляет объекты. Используй отдельного пользователя IAM с правами только на просмотр списка и чтение — никогда не используй учётные данные root:

  1. В консоли AWS перейди в раздел IAM > Users и создай пользователя без доступа к консоли.

  2. Назначь политику, которая предоставляет только права на просмотр списка и чтение для бакетов, которые нужно подключить:

    {
        "Version": "2012-10-17",
        "Statement": [
            { "Effect": "Allow", "Action": "s3:ListAllMyBuckets", "Resource": "*" },
            {
                "Effect": "Allow",
                "Action": ["s3:ListBucket", "s3:GetObject"],
                "Resource": ["arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*"]
            }
        ]
    }

    s3:ListAllMyBuckets — необязательный параметр: он позволяет платформе обнаруживать твои бакеты, чтобы тебе не пришлось вводить их имена.

  3. Открой вкладку Security credentials пользователя, создай ключ доступа и скопируй идентификатор ключа доступа и секретный ключ доступа.

Только долгосрочные ключи пользователя IAM

Платформа отклоняет временные учётные данные AWS. Ключи, выданные AWS STS, — в том числе любые, начинающиеся с ASIA, учётные данные сеанса роли и ключи IAM Identity Center — истекают, пока набор данных всё ещё подключён, поэтому необходим долгосрочный ключ доступа отдельного пользователя IAM.

Подключение к Platform#

  1. Перейди в Settings > Integrations и выбери Amazon S3 в списке интеграций.
  2. Введи идентификатор ключа доступа, секретный ключ доступа и регион бакета (например, us-east-1).
  3. Нажми Find available buckets, затем выбери бакеты для подключения. Если политика не разрешает обнаружение бакетов, введи имя известного бакета вручную.
  4. Нажми Connect. Прежде чем что-либо сохранять, Platform проверит, что может просматривать список и читать данные каждой выбранной корзины.

Настройки интеграции Amazon S3 в Ultralytics Platform

Для подключения облачного хранилища тебе нужна роль администратора или владельца рабочего пространства. Одно подключение поддерживает до 50 бакетов, а при обнаружении отображается до 300 бакетов, доступных этому ключу.

При повторном подключении того же пользователя IAM в существующую интеграцию добавляются новые бакеты. Сохранённые учётные данные заменяются, только если новые учётные данные по-прежнему позволяют читать все уже подключённые бакеты.

Один регион на подключение

Подключение считывает данные из бакетов в указанном регионе. Если твои бакеты находятся в нескольких регионах, создай отдельное подключение для каждого региона.

Защита учётных данных

Учётные данные шифруются при хранении с помощью AES-256-GCM, никогда не передаются браузеру и не раскрываются рабочим нагрузкам обучения. Чтобы отозвать доступ, деактивируй ключ доступа в AWS IAM.

Создай набор данных из бакета S3#

  1. Нажми New Dataset и открой вкладку Cloud.
  2. Выбери подключённую корзину и перейди к папке с данными.
  3. Подтверди выбор папки, при необходимости измени имя набора данных и создай его.

Platform один раз просматривает содержимое папки и индексирует найденные данные:

  • Изображения — объекты .jpg, .jpeg, .png, .webp и .avif индексируются; размеры считываются с помощью запросов с ограниченным объёмом данных. Platform не сохраняет вторую копию исходного изображения.
  • Метки — файлы .txt в формате YOLO преобразуются в аннотации Platform и сопоставляются по стандартной структуре images/ → labels/ либо с файлами в той же папке.
  • Метаданные — YAML-файл содержит имена классов и форму ключевых точек позы, как и при загрузке архива. Если в папке несколько таких файлов, предпочтение отдаётся data.yaml и data.yml.
  • Задача — тип задачи определяется по выборке файлов с метками, поэтому папки для сегментации, оценки позы и OBB распознаются по структуре меток, а не по задаче, выбранной в диалоговом окне.
  • Разбиения — имена папок train, val и test в ключе объекта автоматически определяют разбиения.

Дальше с набором данных можно работать как с любым другим: просматривать и размечать его, делать общедоступным или закрытым, делиться им со своей командой и обучать на его данных с помощью управляемого обучения. Оригиналы передаются по запросу, а индексированные изображения не расходуют квоту хранилища Platform.

Ограничения

При одном импорте индексируется до 500 000 объектов; размер каждого файла меток или YAML-файла не должен превышать 1 МБ. Большие корзины следует распределить по нескольким наборам данных.

Не изменяй индексированные объекты

Каждое индексированное изображение привязано к ETag объекта S3, и платформа блокирует доступ, если объект изменяется. Добавляй новые объекты, а не перезаписывай существующие.

Неудачный импорт#

Если импорт не удался — например, папка пуста, в пути опечатка или разрешения отозваны, — ошибка отображается на странице набора данных. Редакторы могут нажать Retry import, чтобы запустить импорт заново с сохранёнными данными о корзине и папке, или создать новый набор данных с исправленным путём.

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

Обучение#

Управляемое обучение выполняется в обычном режиме. Во время запуска для обучения используются собственные копии привязанных изображений, хранящиеся на платформе, а твои учётные данные AWS никогда не раскрываются рабочим нагрузкам обучения.

Отключение подключения#

При отключении сохранённые учётные данные удаляются, но данные в AWS не затрагиваются. Наборы данных, созданные из этих бакетов, остаются в твоём рабочем пространстве вместе с классами, метками и аннотациями, однако изображения нельзя загрузить, просмотреть или использовать для обучения, пока тот же пользователь IAM не будет подключён снова.

Используй REST API с идентификатором интеграции, возвращённым командой GET /api/integrations/buckets:

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

Чтобы отозвать доступ непосредственно в AWS, деактивируй или удали ключ доступа в AWS IAM.

Текущие ограничения#

Наборы данных на базе S3 сейчас не поддерживают функции, для которых требуются собственные копии изображений на платформе: автоматическую аннотацию, кластерный анализ, клонирование наборов данных и неизменяемые снимки версий.

При удалении набора данных на базе S3 или отдельных изображений из него удаляются только ссылки платформы — сами объекты никогда не затрагиваются.

Смотри также интеграции с Google Cloud Storage и Azure Blob Storage.

Часто задаваемые вопросы#

  • Нет. Platform один раз просматривает корзину и индексирует найденные размеры изображений и метки. Оригиналы передаются по запросу для просмотра и разметки, а при управляемом обучении используются только собственные копии Platform изображений, привязанных к версиям объектов, и только на время запуска. Индексированные изображения не учитываются в квоте хранилища.

  • Набор данных индексируется один раз при создании. Новые объекты не будут обнаружены, пока ты не создашь новый набор данных или не повторишь неудачный импорт; каждое индексированное изображение привязано к своей версии, поэтому при перезаписи объекта Platform перестанет работать с этим изображением. Добавляй новые объекты, а не заменяй существующие.

  • В подключённых наборах данных недоступны функции, для которых нужны копии изображений в Platform: авторазметка, кластерный анализ, клонирование набора данных и неизменяемые снимки версий. Ручная разметка, совместный доступ и обучение работают как обычно.

  • Отключи интеграцию в Settings > Integrations, чтобы удалить сохранённые учётные данные, или деактивируй либо удали ключ доступа в AWS IAM. Ни одно из этих действий не затрагивает данные в твоих бакетах.

Комментарии