YOLO Vision 2026 :

Intégration Amazon S3#

L'intégration Amazon S3 connecte tes buckets S3 à Ultralytics Platform. Tes images restent dans tes buckets — Platform les indexe sur place, afin que tu puisses les parcourir, les annoter et entraîner des modèles YOLO sans en importer une copie.

Fonctionnalité Pro

Les jeux de données Amazon S3 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 lors de la connexion. Les jeux de données Amazon S3 existants restent entièrement accessibles si un abonnement prend fin — seuls les nouvelles connexions et importations nécessitent Pro.

Créer un utilisateur IAM en lecture seule#

Platform ne fait que lire depuis ton stockage — il n'écrit jamais dans tes objets, ne les modifie pas et ne les supprime pas. Utilise un utilisateur IAM dédié avec un accès limité à la liste et à la lecture — n'utilise jamais les identifiants root :

  1. Dans la console AWS, accède à IAM > Users et crée un utilisateur sans accès à la console.

  2. Associe une policy accordant uniquement un accès à la liste et à la lecture pour les buckets que tu veux connecter :

    {
        "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 est facultatif — il permet à Platform de découvrir tes buckets pour que tu n'aies pas à saisir leurs noms.

  3. Ouvre l'onglet Security credentials de l'utilisateur, crée une access key, puis copie l'ID de la clé d'accès et la clé d'accès secrète.

Uniquement des clés d'utilisateur IAM à longue durée de validité

Platform refuse les identifiants AWS temporaires. Les clés émises par AWS STS — notamment tout ce qui commence par ASIA, les identifiants de session role et les clés IAM Identity Center — expirent alors qu'un jeu de données est encore connecté ; une clé d'accès à longue durée de validité d'un utilisateur IAM dédié est donc requise.

Se connecter à Platform#

  1. Accède à Settings > Integrations et sélectionne Amazon S3 dans la liste des intégrations.
  2. Saisis l'ID de la clé d'accès, la clé d'accès secrète et la région du bucket (par exemple us-east-1).
  3. Clique sur Find available buckets, puis sélectionne les buckets à connecter. Si la policy n'autorise pas la découverte, saisis manuellement le nom d'un bucket connu.
  4. Clique sur Connect. Platform vérifie qu’il peut répertorier et lire chaque bucket sélectionné avant d’enregistrer quoi que ce soit.

Paramètres de l'intégration Amazon S3 d'Ultralytics Platform

Tu dois avoir le rôle d'administrateur ou de propriétaire de l'espace de travail pour connecter un stockage cloud. Une connexion prend en charge jusqu'à 50 buckets, et la découverte répertorie jusqu'à 300 des buckets visibles par la clé.

Reconnecter ultérieurement le même utilisateur IAM ajoute les nouveaux buckets à l'intégration existante. Un identifiant enregistré est remplacé uniquement lorsque son remplaçant peut toujours lire chaque bucket que tu as déjà connecté.

Une région par connexion

Une connexion lit les buckets de la région que tu saisis. Si tes buckets se trouvent dans plusieurs régions, établis une connexion par région.

Sécurité des identifiants

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 workloads d'entraînement. Pour révoquer l'accès, désactive la clé d'accès dans AWS IAM.

Créer un jeu de données à partir d'un bucket S3#

  1. Clique sur New Dataset et ouvre l’onglet Cloud.
  2. Choisis un bucket connecté et accède au dossier contenant tes données.
  3. Confirme le dossier, ajuste le nom du jeu de données, puis crée-le.

Platform répertorie le dossier une seule fois et indexe ce qu’il trouve :

  • Images — Les objets .jpg, .jpeg, .png, .webp et .avif sont indexés avec les dimensions lues au moyen de requêtes limitées. Platform ne conserve pas de seconde copie de l’image source.
  • Étiquettes — Les fichiers associés YOLO .txt sont analysés pour créer des annotations dans Platform, puis associés selon la structure standard images/labels/ ou en tant que fichiers voisins dans le même dossier.
  • Métadonnées — Un fichier YAML fournit les noms des classes et la structure des points clés de pose, exactement comme lors d’un téléversement d’archive. data.yaml et data.yml sont privilégiés lorsque le dossier en contient plusieurs.
  • Tâche — Un échantillon des fichiers d’étiquettes détermine la tâche ; les dossiers de segmentation, de pose et d’OBB sont donc reconnus à partir de la structure de leurs étiquettes plutôt que de la tâche choisie dans la boîte de dialogue.
  • Splits — les noms de dossiers train, val et test dans la clé d'objet attribuent automatiquement les splits.

Le jeu de données se comporte ensuite comme n’importe quel autre : parcours-le et annote-le, rends-le public ou privé, partage-le avec ton équipe et entraîne des modèles dessus via l’entraînement géré. Les originaux sont diffusés à la demande et les images indexées ne consomment pas ton quota de stockage Platform.

Limites

Une seule importation indexe jusqu’à 50 000 objets, ainsi que les fichiers d’étiquettes ou YAML de 1 Mo maximum chacun. Les buckets plus volumineux doivent être répartis entre plusieurs jeux de données.

Conserver les objets indexés immuables

Chaque image indexée est associée à l'ETag de son objet S3, et Platform refuse toute opération si un objet est modifié en arrière-plan. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent.

Importations échouées#

Si une importation échoue — dossier vide, erreur de saisie dans le chemin ou autorisations révoquées — le jeu de données affiche l’erreur sur sa page. Les éditeurs peuvent cliquer sur Retry import pour la redémarrer avec le bucket et le dossier enregistrés, ou créer un nouveau jeu de données pointant vers le chemin corrigé.

Une nouvelle tentative réanalyse le dossier au lieu de reprendre l’opération : les objets ajoutés depuis la première tentative sont récupérés et ceux qui n’y sont plus sont supprimés du jeu de données.

Entraînement#

L'entraînement géré fonctionne via le flux d'entraînement normal. Pendant toute la durée de l'exécution, l'entraînement utilise les propres copies Platform des images associées, et tes identifiants AWS ne sont jamais exposés aux workloads d'entraînement.

Déconnecter une connexion#

La déconnexion supprime les identifiants enregistrés sans rien modifier dans AWS. Les jeux de données créés à partir de ces buckets restent dans ton espace de travail avec leurs classes, labels et annotations, mais leurs images ne peuvent pas être chargées, prévisualisées ou utilisées pour l'entraînement tant que le même utilisateur IAM n'est pas reconnecté.

Utilise la REST API avec 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_ID
from ultralytics_platform import Platform

client = Platform()  # reads ULTRALYTICS_API_KEY
integrations = client.storage_integrations.list()
client.storage_integrations.delete("INTEGRATION_ID")

Pour révoquer plutôt l'accès à la source, désactive ou supprime la clé d'accès dans AWS IAM.

Limites actuelles#

Les jeux de données adossés à S3 excluent actuellement les fonctionnalités qui nécessitent des copies de tes images détenues par Platform : annotation automatique, analyse de clustering, clonage de jeux de données et instantanés de versions immuables.

La suppression d'un jeu de données adossé à S3, ou d'images individuelles qui en font partie, supprime uniquement les références de Platform — tes objets ne sont jamais modifiés.

Voir également les intégrations Google Cloud Storage et Azure Blob Storage.

FAQ#

  • Non. Platform liste le bucket une seule fois et indexe les dimensions et les étiquettes des images qu'il trouve. Les originaux sont diffusés à la demande pour la navigation et l'annotation, et l'entraînement géré fonctionne à partir des copies des images épinglées par Platform uniquement pour la durée de l'exécution. Les images indexées ne sont pas décomptées de 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 pris en compte tant que tu ne crées pas un nouveau jeu de données ou que tu ne relances pas un import échoué, et chaque image indexée est épinglée à sa version, de sorte que l'écrasement d'un objet entraîne l'échec de Platform sur cette image. Ajoute de nouveaux objets au lieu de remplacer ceux qui existent déjà.

  • Les fonctionnalités qui nécessitent des copies de tes images appartenant à Platform sont exclues sur les jeux de données connectés : l'annotation automatique, l'analyse par clustering, le clonage de jeux de données et les instantanés de version immuables. L'annotation manuelle, le partage et l'entraînement fonctionnent normalement.

  • Déconnecte l'intégration dans Settings > Integrations pour supprimer les identifiants stockés, ou désactive ou supprime la clé d'accès dans AWS IAM. Aucune de ces actions ne modifie les données de tes compartiments.

Contributeurs

Commentaires