Ultralytics YOLO27: Запишись в список ожидания.
Get Started

Интеграция с Google Cloud Storage#

Интеграция с Google Cloud Storage связывает твои бакеты GCS с Ultralytics Platform. Изображения остаются в твоих бакетах: Platform индексирует их на месте, чтобы ты мог просматривать их, размечать и обучать модели YOLO без загрузки копии.

Функция тарифа Pro

Для наборов данных в Google Cloud Storage нужен тариф Pro или Enterprise. В бесплатных рабочих пространствах интеграция отображается, и при подключении предлагается перейти на платный тариф. Если подписка закончится, доступ к уже существующим наборам данных Google Cloud Storage сохранится полностью — тариф Pro нужен только для новых подключений и импорта.

Создай служебную учётную запись только для чтения#

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

  1. В консоли Google Cloud перейди в IAM & Admin > Service Accounts и создай служебную учётную запись.
  2. Назначь ей роль Storage Object Viewer (roles/storage.objectViewer) для бакетов, которые хочешь подключить.
  3. Открой служебную учётную запись, выбери Keys > Add key > Create new key, укажи JSON и скачай файл ключа.
Для поиска бакетов требуется ещё одно разрешение

roles/storage.objectViewer охватывает все операции Platform с твоими данными, но не позволяет перечислять бакеты в проекте. Если хочешь, чтобы Platform находила бакеты за тебя, добавь роль с разрешением storage.buckets.list; иначе при подключении вручную указывай имя каждого бакета.

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

  1. Перейди в Settings > Integrations и выбери Google Cloud Storage в списке интеграций.
  2. Вставь содержимое JSON-ключа служебной учётной записи.
  3. Нажми Find available buckets, затем выбери бакеты для подключения. Если служебная учётная запись не может перечислять бакеты, введи имя известного бакета вручную.
  4. Нажми Connect. Перед сохранением Platform проверит, что может перечислить и прочитать каждый выбранный бакет.

Настройки интеграции Google Cloud Storage в Ultralytics Platform

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

Браузер считывает вставленный файл ключа и отправляет только три поля, необходимые Platform: client_email, private_key и project_id. Остальное содержимое JSON не покидает страницу.

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

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

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

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

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

Platform однократно перечисляет содержимое папки и индексирует найденные данные:

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

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

Ограничения

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

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

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

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

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

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

Обучение#

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

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

При отключении сохранённые учётные данные удаляются, но в Google Cloud ничего не меняется. Датасеты, созданные на основе этих бакетов, остаются в твоём рабочем пространстве вместе со своими классами, метками и аннотациями, но их изображения нельзя загружать, просматривать или использовать для обучения, пока снова не будет подключён тот же сервисный аккаунт. Даже без подключения ты можешь переименовывать датасеты, редактировать метки и удалять датасеты.

Чтобы отключить подключение, перейди в Настройки > Интеграции, выбери Google Cloud Storage, нажми Отключить рядом с учётными данными и подтверди действие. При открытии одного из таких датасетов появится сообщение Google Cloud Storage отключено со ссылкой на эти настройки. После повторного подключения датасет снова станет доступен автоматически.

Отключить подключение можно также через 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")

Чтобы отозвать доступ непосредственно в Google Cloud, удали ключ сервисного аккаунта.

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

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

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

См. также интеграции Amazon S3 и Azure Blob Storage.

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

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

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

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

  • Отключи интеграцию в разделе Настройки > Интеграции, чтобы удалить сохранённые учётные данные, или удали ключ сервисного аккаунта в Google Cloud. Ни одно из этих действий не затрагивает данные в твоих бакетах.

Комментарии