YOLO Vision 2026:

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

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

Функция Pro

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

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

Platform только читает данные из твоего хранилища — он никогда не записывает, не изменяет и не удаляет твои объекты. Используй отдельного пользователя 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 необязателен — он позволяет Platform обнаруживать твои бакеты, чтобы тебе не пришлось вводить их имена.

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

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

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

Подключение к Платформе#

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

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

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

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

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

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

Безопасность учетных данных

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

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

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

Платформа один раз просматривает содержимое папки и индексирует найденные объекты:

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

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

Ограничения

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

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

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

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

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

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

Обучение#

Управляемое обучение выполняется в обычном режиме обучения. Во время запуска обучение использует собственные копии Platform привязанных изображений, а твои учетные данные 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 IAM.

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

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

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

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

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

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

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

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

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

Участники

Комментарии