YOLO Vision 2026:

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

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

Pro-функция

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

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

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

  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 (ключ доступа) и скопируй ID ключа доступа и секретный ключ доступа.

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

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

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

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

Ultralytics Platform Amazon S3 Integration Settings

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

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

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

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

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

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

Создание датасета из бакета S3#

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

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

  • Images — объекты .jpg, .jpeg, .png, .webp и .avif индексируются с размерами, которые считываются посредством ограниченных запросов. Platform не сохраняет вторую копию исходного изображения.
  • Labels — сопутствующие файлы YOLO .txt преобразуются в аннотации Platform, сопоставляемые по стандартной структуре images/labels/ или как файлы в той же папке.
  • Metadata — файл YAML задает имена классов и форму ключевых точек позы, точно так же, как при загрузке архива. data.yaml и data.yml предпочтительнее, если в папке их несколько.
  • Task — образец файлов разметки определяет задачу, поэтому папки segment, pose и OBB распознаются по форме их разметки, а не по задаче, выбранной в диалоговом окне.
  • Разделения (Splits) — имена папок train, val и test в ключе объекта автоматически назначают разделения.

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

Ограничения

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

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

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

Ошибки импорта#

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

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

Training#

Управляемое обучение работает через обычный пайплайн обучения. Обучение использует собственные копии закрепленных изображений 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 — твои объекты в S3 остаются нетронутыми.

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

Участники

Комментарии