Intégration de Google Cloud Storage#
L’intégration Google Cloud Storage connecte tes buckets GCS à Ultralytics Platform. Tes images restent dans tes buckets — Platform les indexe sur place, ce qui te permet de les parcourir, de les annoter et d’entraîner des modèles YOLO sans en téléverser de copie.
Les jeux de données Google Cloud Storage nécessitent un forfait Pro ou Enterprise. Les espaces de travail gratuits voient l’intégration et sont invités à passer à un forfait supérieur au moment de la connexion. Les jeux de données Google Cloud Storage existants restent entièrement accessibles si un abonnement prend fin — seuls les nouveaux branchements et imports nécessitent Pro.
Créer un compte de service en lecture seule#
Platform ne fait que lire les données de ton stockage — elle n’écrit, ne modifie ni ne supprime jamais tes objets. Crée un compte de service dédié avec un accès en lecture seule :
- Dans la console Google Cloud, va dans IAM et administration > Comptes de service et crée un compte de service.
- Attribue-lui le rôle Storage Object Viewer (
roles/storage.objectViewer) sur les buckets que tu veux connecter. - Ouvre le compte de service, choisis Clés > Ajouter une clé > Créer une clé, sélectionne JSON, puis télécharge le fichier de clé.
roles/storage.objectViewer couvre toutes les opérations de Platform sur tes données, mais n’autorise pas l’affichage de la liste des buckets d’un projet. Ajoute un rôle contenant storage.buckets.list si tu veux que Platform trouve tes buckets ; sinon, saisis manuellement le nom de chaque bucket lors de la connexion.
Se connecter à Platform#
- Va dans Paramètres > Intégrations et sélectionne Google Cloud Storage dans la liste des intégrations.
- Colle le contenu du fichier de clé JSON du compte de service.
- Clique sur Rechercher les buckets disponibles, puis sélectionne ceux à connecter. Si le compte de service ne peut pas afficher la liste des buckets, saisis manuellement le nom d’un bucket connu.
- Clique sur Connecter. Platform vérifie qu’elle peut afficher la liste et lire chaque bucket sélectionné avant d’enregistrer quoi que ce soit.

Tu dois avoir le rôle d’administrateur ou de propriétaire de l’espace de travail pour connecter un stockage cloud. Tu peux ajouter jusqu’à 50 buckets à la fois, et la découverte en répertorie jusqu’à 300 parmi ceux auxquels le compte de service a accès.
Ton navigateur lit le fichier de clé collé et n’envoie que les trois champs dont Platform a besoin — client_email, private_key et project_id. Le reste du JSON ne quitte jamais la page.
Reconnecter le même compte de service ultérieurement ajoute de nouveaux buckets à l’intégration existante. Un identifiant enregistré n’est remplacé que si son remplaçant peut toujours lire tous les buckets déjà connectés. Si la lecture d’un bucket échoue, le message d’erreur indique son nom, y compris pour les buckets connectés précédemment avec le même compte de service.
Les identifiants sont chiffrés au repos avec AES-256-GCM, ne sont jamais renvoyés au navigateur et ne sont jamais exposés aux charges de travail d’entraînement. Pour révoquer l’accès, supprime la clé du compte de service dans Google Cloud.
Créer un jeu de données depuis un bucket GCS#
- Clique sur Nouveau jeu de données, puis ouvre l’onglet Cloud.
- Choisis un bucket connecté et accède au dossier contenant tes données.
- Confirme le dossier, ajuste le nom du jeu de données, puis crée-le.
Platform répertorie le dossier une fois et indexe les éléments trouvés :
- Images — les objets
.jpg,.jpeg,.png,.webpet.avifsont indexés ; leurs dimensions sont lues au moyen de requêtes limitées. Platform ne conserve pas de deuxième copie de l’image source. - Labels — les fichiers annexes YOLO
.txtsont analysés et convertis en annotations Platform, associées selon la structure standardimages/→labels/ou comme fichiers frères dans le même dossier. - Métadonnées — un fichier YAML fournit les noms de classes et la structure des points clés de pose, exactement comme lors d’un téléversement d’archive. Les fichiers
data.yamletdata.ymlsont prioritaires lorsque le dossier en contient plusieurs. - Tâche — un échantillon des fichiers de labels détermine la tâche ; les dossiers de segmentation, de pose et OBB sont donc reconnus à partir de la structure de leurs labels, et non de la tâche choisie dans la boîte de dialogue.
- Sous-ensembles — les noms de dossiers
train,valettestdans le chemin de l’objet attribuent automatiquement les sous-ensembles.
Le jeu de données fonctionne ensuite comme n’importe quel autre : tu peux le parcourir et l’annoter, le rendre public ou privé, le partager avec ton équipe et l’utiliser pour l’entraînement via l’entraînement géré. Les originaux sont transmis à la demande, et les images indexées ne consomment pas ton quota de stockage Platform.
Une importation unique indexe jusqu’à 500 000 objets, ainsi que des fichiers d’annotations ou YAML de 1 Mo maximum chacun. Les compartiments plus volumineux doivent être répartis sur plusieurs jeux de données.
Chaque image indexée est associée à la génération de son objet GCS, et Platform bloque l’accès si un objet est modifié en arrière-plan. Ajoute de nouveaux objets au lieu d’écraser ceux qui existent déjà.
Échecs d’importation#
Si une importation échoue — dossier vide, faute de frappe dans le chemin ou autorisations révoquées — le jeu de données affiche l’erreur sur sa page. Les éditeurs peuvent cliquer sur Réessayer l’importation pour la relancer avec le compartiment et le dossier enregistrés, ou créer un nouveau jeu de données en indiquant le chemin corrigé.
Une nouvelle tentative réénumère le dossier au lieu de reprendre l’importation : les objets ajoutés depuis la première tentative sont récupérés, et ceux qui n’y figurent plus sont retirés du jeu de données.
Entraînement#
L’entraînement géré s’effectue selon le flux d’entraînement habituel. Pendant l’exécution, l’entraînement utilise les propres copies par Platform des images épinglées, et tes identifiants Google Cloud ne sont jamais exposés aux charges de travail d’entraînement.
Déconnecter une intégration#
La déconnexion supprime les identifiants enregistrés sans rien modifier dans Google Cloud. Les jeux de données créés à partir de ces compartiments restent dans ton espace de travail avec leurs classes, leurs étiquettes et leurs annotations, mais leurs images ne peuvent pas être chargées, prévisualisées ni utilisées pour l’entraînement tant que le même compte de service n’est pas reconnecté. Tu peux toujours les renommer, modifier leurs étiquettes ou les supprimer lorsqu’ils sont déconnectés.
Pour te déconnecter, accède à Settings > Integrations, sélectionne Google Cloud Storage, clique sur Disconnect à côté de l’identifiant, puis confirme. Si tu ouvres l’un de ses jeux de données, le message Google Cloud Storage Disconnected s’affiche, avec un lien vers ces paramètres. Le jeu de données redevient automatiquement accessible une fois la connexion rétablie.
Tu peux aussi te déconnecter avec l’API REST, en utilisant l’identifiant d’intégration renvoyé par GET /api/integrations/buckets :
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
https://platform.ultralytics.com/api/integrations/buckets/INTEGRATION_IDfrom ultralytics_platform import Platform
client = Platform() # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")Pour révoquer l’accès à la source, supprime plutôt la clé du compte de service dans Google Cloud.
Limites actuelles#
Les jeux de données associés à GCS ne prennent actuellement pas en charge les fonctionnalités qui nécessitent des copies de tes images détenues par Platform : l’annotation automatique, l’analyse de regroupement, le clonage de jeux de données et les instantanés de version immuables.
La suppression d’un jeu de données associé à GCS, ou d’images individuelles qui en font partie, supprime uniquement les références de Platform : tes objets ne sont jamais modifiés.
Consulte aussi les intégrations Amazon S3 et Azure Blob Storage.
FAQ#
Non. Platform répertorie le compartiment une fois et indexe les dimensions des images et les étiquettes qu’il trouve. Les originaux sont transmis à la demande pour la navigation et l’annotation, tandis que l’entraînement géré utilise les propres copies par Platform des images épinglées, uniquement pendant l’exécution. Les images indexées ne sont pas comptabilisées dans ton quota de stockage.
Un jeu de données est indexé une seule fois, lors de sa création. Les nouveaux objets ne sont pas récupérés avant la création d’un nouveau jeu de données ou une nouvelle tentative d’importation ayant échoué. Chaque image indexée est épinglée à sa version ; si tu écrases un objet, Platform bloque l’accès à cette image. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent déjà.
Déconnecte l’intégration dans Settings > Integrations pour supprimer les identifiants enregistrés, ou supprime la clé du compte de service dans Google Cloud. Aucune de ces actions ne modifie les données de tes compartiments.