Link to this sectionИнтеграция с Amazon S3#
Интеграция с Amazon S3 подключает твои бакеты S3 к Ultralytics Platform. Твои изображения остаются в твоих бакетах — Platform индексирует их на месте, поэтому ты можешь просматривать, размечать и обучать модели YOLO без загрузки копий.
Для использования датасетов Amazon S3 требуется план Pro или Enterprise. Бесплатные рабочие пространства видят интеграцию, и им будет предложено обновить план при подключении. Существующие датасеты Amazon S3 остаются полностью доступными даже после окончания подписки — Pro-план нужен только для новых подключений и импорта.
Link to this sectionСоздание 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 ключа доступа и секретный ключ доступа.
Link to this sectionПодключение к Platform#
- Перейди в Settings > Integrations и найди карточку Amazon S3.
- Нажми Connect и введи ID ключа доступа, секретный ключ доступа и регион бакета (например,
us-east-1). - Platform отобразит список бакетов, доступных для чтения с этими учетными данными. Выбери нужные для подключения или введи имя бакета вручную, если политика не разрешает обнаружение.
- Нажми Connect. Перед сохранением Platform проверяет, может ли она прочитать каждый выбранный бакет.
Повторное подключение того же IAM-пользователя позже добавит новые бакеты к уже существующей интеграции. Сохраненный ключ заменяется новым только в том случае, если новый ключ по-прежнему имеет доступ ко всем бакетам, которые ты уже подключил.
Одно подключение работает с бакетами в указанном тобой регионе. Если твои бакеты расположены в разных регионах, создавай отдельное подключение для каждого региона.
Учетные данные шифруются в состоянии покоя по алгоритму AES-256-GCM, никогда не возвращаются в браузер и не попадают в полезную нагрузку заданий обучения. Чтобы отозвать доступ, деактивируй ключ доступа в AWS IAM.
Link to this sectionСоздание датасета из бакета S3#
- Нажми New Dataset и открой вкладку Cloud storage.
- Выбери подключенный бакет и перейди в папку с твоими данными.
- Подтверди выбор папки, укажи название набора данных и создай его.
Platform просканирует папку один раз и проиндексирует найденное:
- Изображения — объекты
.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 блокирует работу с ним. Добавляй новые объекты вместо перезаписи существующих.
Link to this sectionОшибки импорта#
Если импорт завершается неудачей (пустая папка, опечатка в пути или отозванные разрешения), набор данных отображает ошибку на своей странице. Редакторы могут нажать Retry import, чтобы перезапустить его с сохраненными данными бакета и папки, или создать новый набор данных, указывающий на исправленный путь.
Link to this sectionTraining#
Управляемое обучение работает через стандартный процесс обучения. Воркеры загружают привязанные оригиналы во временное хранилище задания на время выполнения и удаляют их после завершения — твои учетные данные AWS никогда не передаются на вычислительные мощности.
Link to this sectionТекущие ограничения#
Для датасетов на базе S3 в настоящее время недоступны функции, требующие владения копиями изображений со стороны Platform: автоматическая разметка, кластерный анализ, клонирование датасетов и неизменяемые версионные снимки.
Удаление датасета на базе S3 или отдельных изображений из него удаляет только ссылки внутри Platform — твои объекты в S3 остаются нетронутыми.
Ознакомься также с интеграциями Google Cloud Storage и Azure Blob Storage.