Интеграция с Amazon S3#
Интеграция с Amazon S3 подключает твои бакеты S3 к Ultralytics Platform. Твои изображения остаются в твоих бакетах — Platform индексирует их на месте, поэтому ты можешь просматривать, размечать и обучать модели YOLO без загрузки копий.
Для использования датасетов Amazon S3 требуется план Pro или Enterprise. Бесплатные рабочие пространства видят интеграцию, и им будет предложено обновить план при подключении. Существующие датасеты Amazon S3 остаются полностью доступными даже после окончания подписки — Pro-план нужен только для новых подключений и импорта.
Создание IAM-пользователя с правами только для чтения#
Platform только считывает данные из твоего хранилища — она никогда не записывает, не изменяет и не удаляет твои объекты. Используй отдельного IAM-пользователя с доступом только на чтение и просмотр списка — никогда не используй учетные данные root:
-
В консоли AWS перейди в IAM > Users и создай пользователя без доступа к консоли.
-
Прикрепи политику, предоставляющую права только на просмотр списка и чтение бакетов, которые ты хочешь подключить:
{ "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 находить твои бакеты, чтобы тебе не приходилось вводить их имена вручную. -
Открой вкладку Security credentials пользователя, создай access key (ключ доступа) и скопируй ID ключа доступа и секретный ключ доступа.
Подключение к Platform#
- Перейди в Settings > Integrations и выбери Amazon S3 из списка интеграций.
- Введи идентификатор ключа доступа, секретный ключ доступа и регион бакета (например,
us-east-1). - Нажми Find available buckets, затем выбери бакеты для подключения. Если политика не разрешает обнаружение, введи известное имя бакета вручную.
- Нажми Connect. Перед сохранением Platform проверяет, может ли она прочитать каждый выбранный бакет.

Повторное подключение того же IAM-пользователя позже добавит новые бакеты к уже существующей интеграции. Сохраненный ключ заменяется новым только в том случае, если новый ключ по-прежнему имеет доступ ко всем бакетам, которые ты уже подключил.
Одно подключение работает с бакетами в указанном тобой регионе. Если твои бакеты расположены в разных регионах, создавай отдельное подключение для каждого региона.
Учетные данные шифруются в состоянии покоя по алгоритму AES-256-GCM, никогда не возвращаются в браузер и не попадают в полезную нагрузку заданий обучения. Чтобы отозвать доступ, деактивируй ключ доступа в AWS IAM.
Создание датасета из бакета S3#
- Нажми New Dataset и открой вкладку Cloud storage.
- Выбери подключенный бакет и перейди в папку с твоими данными.
- Подтверди выбор папки, укажи название набора данных и создай его.
Platform просканирует папку один раз и проиндексирует найденное:
- Images — объекты
.jpg,.jpeg,.png,.webpи.avifиндексируются с чтением размеров посредством ограниченных запросов. Платформа не сохраняет вторую копию исходного изображения. - Labels — YOLO
.txtфайлы-сайдкары парсятся в аннотации Platform, сопоставляются по стандартной структуреimages/→labels/или как файлы, лежащие в той же папке. - Metadata — файл
data.yaml/data.ymlсодержит имена классов, тип задачи и параметры ключевых точек, в точности как при загрузке архива. - Splits (разделение данных) — имена папок
train,valиtestв ключе объекта автоматически распределяют данные по соответствующим наборам.
После этого набор данных ведет себя как любой другой: просматривай и размечай его, делай его публичным или приватным, делись им со своей командой и обучай модели с помощью управляемого обучения. Оригиналы передаются по запросу, а проиндексированные изображения не расходуют твою квоту хранилища на Platform.
Один импорт индексирует до 50 000 объектов, а также файлы меток или YAML размером до 1 МБ каждый. Более крупные бакеты следует разделять на несколько наборов данных.
Каждое проиндексированное изображение привязывается к ETag объекта в S3, и если объект изменяется, Platform блокирует работу с ним. Добавляй новые объекты вместо перезаписи существующих.
Ошибки импорта#
Если импорт завершается неудачей (пустая папка, опечатка в пути или отозванные разрешения), набор данных отображает ошибку на своей странице. Редакторы могут нажать Retry import, чтобы перезапустить его с сохраненными данными бакета и папки, или создать новый набор данных, указывающий на исправленный путь.
Training#
Управляемое обучение работает через стандартный процесс обучения. Воркеры загружают привязанные оригиналы во временное хранилище задания на время выполнения и удаляют их после завершения — твои учетные данные AWS никогда не передаются на вычислительные мощности.
Текущие ограничения#
Для датасетов на базе S3 в настоящее время недоступны функции, требующие владения копиями изображений со стороны Platform: автоматическая разметка, кластерный анализ, клонирование датасетов и неизменяемые версионные снимки.
Удаление датасета на базе S3 или отдельных изображений из него удаляет только ссылки внутри Platform — твои объекты в S3 остаются нетронутыми.
Ознакомься также с интеграциями Google Cloud Storage и Azure Blob Storage.