Configurer un projet et un environnement de développement

Ce guide explique comment configurer un projet Google Cloud pour commencer à utiliser Agent Platform Vision.

Configurer votre projet

  1. Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. Installez la Google Cloud CLI.

  3. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  4. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  5. Créez ou sélectionnez un projet Google Cloud .

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un projet Google Cloud  :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

    • Sélectionnez le projet Google Cloud que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud .

  7. Activez l'API Vertex AI Vision :

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    gcloud services enable visionai.googleapis.com
  8. Configurez l'authentification :

    1. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
    2. Créez le compte de service :

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

    3. Attribuez le rôle IAM roles/visionai.editor au compte de service.

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/visionai.editor

      Remplacez les éléments suivants :

      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
    4. Générez le fichier de clé :

      gcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

      Remplacez les éléments suivants :

      • FILE_NAME : nom du fichier de clé
      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
  9. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

  10. Installez la Google Cloud CLI.

  11. Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  12. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    gcloud init
  13. Créez ou sélectionnez un projet Google Cloud .

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionnez un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique. Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un projet Google Cloud  :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du projet Google Cloud que vous créez.

    • Sélectionnez le projet Google Cloud que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre projet Google Cloud .

  14. Vérifiez que la facturation est activée pour votre projet Google Cloud .

  15. Activez l'API Vertex AI Vision :

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    gcloud services enable visionai.googleapis.com
  16. Configurez l'authentification :

    1. Assurez-vous de disposer des rôles IAM "Créateur de compte de service" (roles/iam.serviceAccountCreator) et "Administrateur IAM du projet" (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles.
    2. Créez le compte de service :

      gcloud iam service-accounts create SERVICE_ACCOUNT_NAME

      Remplacez SERVICE_ACCOUNT_NAME par le nom que vous souhaitez donner au compte de service.

    3. Attribuez le rôle IAM roles/visionai.editor au compte de service.

      gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/visionai.editor

      Remplacez les éléments suivants :

      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
    4. Générez le fichier de clé :

      gcloud iam service-accounts keys create FILE_NAME.json --iam-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

      Remplacez les éléments suivants :

      • FILE_NAME : nom du fichier de clé
      • SERVICE_ACCOUNT_NAME : nom du compte de service.
      • PROJECT_ID : ID du projet dans lequel vous avez créé le compte de service.
  17. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.


Certaines tâches nécessitent l'utilisation de produitsGoogle Cloud supplémentaires en plus d'Agent Platform Vision. Vous devrez peut-être effectuer des tâches de configuration supplémentaires pour utiliser d'autres produits Google Cloud .

SDK Vision Agent Platform

Le kit de développement logiciel (SDK) Agent Platform Vision contient des outils et des bibliothèques qui vous permettent de développer des programmes et des workflows personnalisés avec Agent Platform Vision.

Ces outils font référence à un ensemble de fichiers sources binaires qui vous aident à être plus productif lorsque vous utilisez ou développez des solutions avec Agent Platform Vision. Vous pouvez également ajouter ces fichiers sources binaires à votre script pour gérer les déploiements à plus grande échelle. L'interface de ligne de commande (CLI) vaictl est un exemple de cette catégorie.

Les bibliothèques font référence à un ensemble d'API de programmation que vous pouvez utiliser pour gérer, contrôler et effectuer des E/S de différentes formes de manière programmatique avec Agent Platform Vision. L'API de programmation C++ est un exemple de cette catégorie.

Le code des outils et des bibliothèques est Open Source. Nous invitons les développeurs à les créer directement. Pour les outils, nous proposons également des fichiers binaires prédéfinis sur des plates-formes spécifiques que vous pouvez télécharger pour une utilisation directe. Nous proposons également des images Docker pour les cas où votre plate-forme n'est pas directement compatible.

Prérequis

Tenez compte de ces prérequis avant d'utiliser le SDK Agent Platform Vision.

Plates-formes compatibles

Pour le moment, nous ne prenons en charge directement que les machines x86 exécutant une distribution Linux basée sur Debian. Si vous utilisez une autre plate-forme, nous proposons également une image Docker avec des outils déjà intégrés et installés.

Exigences logicielles supplémentaires

La plupart des dépendances logicielles tierces requises par le SDK Vision de la plate-forme d'agent sont gérées automatiquement lorsque vous installez les binaires précompilés. Toutefois, pour utiliser certains aspects des fonctionnalités et des workflows du SDK, vous devez installer des dépendances supplémentaires. Cette section liste ces exceptions et explique comment les télécharger et les installer.

SDK Python

Le package pip Python installe automatiquement toutes ses dépendances. Toutefois, votre installation Python de base sous-jacente doit répondre aux conditions suivantes :

  • Python >= 3.8.

Dépendances de compilation à partir de la source

La plupart des utilisateurs peuvent utiliser les binaires du SDK précompilés pour leur workflow. Si vous souhaitez développer et compiler le SDK à partir de la source, vous devez également vous assurer que votre système répond aux exigences suivantes.

  • Installez Bazel. Pour obtenir des instructions d'installation, consultez la documentation Bazel.
  • Sur Ubuntu 20.04, vous avez également besoin de plusieurs dépendances système. Vous pouvez les installer à l'aide de la commande suivante :

    apt-get install -y --no-install-recommends \
        autoconf \
        automake \
        build-essential \
        ca-certificates \
        flex \
        bison \
        python3 \
        nasm \
        libjpeg-dev
    

Obtenir des binaires prédéfinis

L'outil vaictl est un outil binaire prêt à l'emploi qui peut être utilisé pour contrôler Agent Platform Vision, ainsi que pour envoyer et recevoir les données qu'il traite.

Cette section vous explique comment télécharger et installer cet outil.

Installer le package Debian

Vous disposez de deux options pour utiliser l'outil de ligne de commande vaictl, dont vous avez besoin pour travailler avec les E/S (données de flux) :

  • Installez l'outil de ligne de commande en local (OS : Debian GNU/Linux, architecture du processeur : x86_64) ou
  • Exécutez les commandes dans une image Docker sur laquelle toutes les dépendances sont installées.

Pour obtenir l'outil de ligne de commande vaictl, procédez comme suit :

Télécharger le package

Pour les installations directes, nous n'acceptons actuellement que les distributions Debian/Ubuntu.

Vous pouvez également télécharger ce package Debian à partir de la page des versions du SDK Agent Platform Vision sur GitHub.

  1. (Facultatif) Supprimez les versions précédentes de vaictl.

    Pour pouvoir installer l'outil de ligne de commande vaictl, vous devez supprimer toutes les versions précédentes de l'outil sur votre machine :

    sudo apt-get remove visionai
  2. Téléchargez le package requis. Vous pouvez télécharger le package depuis la page des versions GitHub ou utiliser la commande suivante :
    wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
  3. Après avoir téléchargé le package, exécutez la commande suivante dans le répertoire dans lequel vous avez téléchargé le fichier :
    sudo apt install ./visionai_0.0-5_amd64.deb
  4. Vérifiez l'installation :
    vaictl --help

Obtenir Docker

Vous pouvez obtenir une image Docker sur laquelle le SDK Vision Agent Platform et toutes ses dépendances sont déjà préinstallés. Cette image Docker est disponible sur gcr.io/visionai-public-images/vaictl.

  1. Téléchargez l'image depuis Container Registry :
    docker pull gcr.io/visionai-public-images/vaictl
  2. Exécutez un terminal de conteneur interactif.
    docker run -it --rm gcr.io/visionai-public-images/vaictl /bin/bash
  3. Vérifiez le fonctionnement :
    vaictl --help

Obtenir le code source

Le SDK Agent Platform Vision est Open Source et disponible publiquement sur GitHub.

Bien que le SDK dépende des définitions de l'API de service, cette dépendance est déjà gérée automatiquement par Bazel. Vous n'avez donc pas besoin de l'acquérir explicitement. Toutefois, si vous avez besoin d'accéder directement aux API de service, vous pouvez les obtenir sur le dépôt GitHub googleapis.

SDK de programmation Python

Agent Platform Vision est également compatible avec un SDK Python. Pour programmer avec ce SDK, assurez-vous simplement d'avoir satisfait les dépendances de base du SDK Python avant d'installer le SDK Python.

Pour en savoir plus sur le SDK, consultez la documentation de référence du SDK Python.

Pour obtenir des exemples de code utilisant le SDK Python, consultez le tutoriel sur le floutage des visages avec le SDK Python ou certains exemples dans la distribution source du répertoire visionai/python/examples/.

Obtenir le package du SDK Python

Le SDK Agent Platform Vision contient également une bibliothèque Python. Téléchargez et installez la version précompilée du SDK Python en suivant les instructions ci-dessous.

  1. Téléchargez le package.

    Vous pouvez télécharger le package du SDK Python depuis la page GitHub des versions du SDK Agent Platform Vision ou exécuter la commande suivante :

    wget https://github.com/google/visionai/releases/download/v0.0.5/visionai-0.0.5-py3-none-any.whl
    
  2. Facultatif. Créez et activez un nouvel environnement virtuel :

    python3 -m venv vaivenv
    source vaivenv/bin/activate
    
  3. Installez le package :

    pip3 install visionai-0.0.5-py3-none-any.whl
    
  4. Facultatif. Vérifiez que l'installation a fonctionné :

    python3
    
    import visionai
    
  5. Facultatif. Désactivez votre environnement virtuel :

    deactivate
    

SDK de programmation C++

C++ est le premier SDK de programmation que nous prenons en charge. Le SDK C++ public se trouve dans visionai/public/streams.h. Pour plus d'informations, consultez la documentation de référence.

Étapes suivantes