Cette page explique comment créer un ensemble de données Vertex AI à partir de données d'image afin de commencer à entraîner des modèles de classification. Vous pouvez créer un ensemble de données à l'aide de la console Google Cloud ou de l'API Vertex AI.
Créer un ensemble de données vide et y importer ou lui associer vos données
Console Google Cloud
Suivez les instructions ci-dessous pour créer un ensemble de données vide puis importer ou associer vos données.
- Dans la section Vertex AI de Google Cloud Console, accédez à la page Ensembles de données.
- Cliquez sur Créer pour ouvrir la page des détails de création de l'ensemble de données.
- Modifiez le champ Nom de l'ensemble de données pour créer un nom à afficher descriptif de l'ensemble de données.
- Sélectionnez l'onglet Image.
- Sélectionnez comme objectif une classification d'images à étiquette unique ou multi-étiquette.
- Sélectionnez une région dans la liste déroulante Région.
- Cliquez sur Créer pour créer l'ensemble de données vide, puis accédez à la page d'importation de données.
- Choisissez l'une des options suivantes dans la section Sélectionner une méthode d'importation :
Importer des données depuis votre ordinateur
- Dans la section Sélectionner une méthode d'importation, choisissez l'importation de données depuis votre ordinateur.
- Cliquez sur Sélectionner des fichiers, puis choisissez tous les fichiers locaux à importer dans un bucket Cloud Storage.
- Dans la section Sélectionner un chemin d'accès à Cloud Storage, cliquez sur Parcourir pour choisir un emplacement de bucket Cloud Storage dans lequel importer vos données.
Importer un fichier d'importation depuis votre ordinateur
- Cliquez sur Importer un fichier d'importation depuis votre ordinateur.
- Cliquez sur Sélectionner des fichiers, puis choisissez le fichier d'importation local à importer dans un bucket Cloud Storage.
- Dans la section Sélectionner un chemin d'accès à Cloud Storage, cliquez sur Parcourir pour choisir un emplacement de bucket Cloud Storage dans lequel importer votre fichier.
Sélectionner un fichier d'importation depuis Cloud Storage
- Cliquez sur Sélectionner un fichier d'importation depuis Cloud Storage.
- Dans la section Sélectionner un chemin d'accès à Cloud Storage, cliquez sur Parcourir pour choisir le fichier d'importation dans Cloud Storage.
- Cliquez sur Continuer.
L'importation des données peut prendre plusieurs heures, selon la taille de vos données. Vous pouvez fermer cet onglet et y revenir plus tard. Vous recevrez un e-mail lorsque vos données seront importées.
API
Pour créer un modèle de machine learning, vous devez d'abord disposer d'une collection représentative des données qui va servir de base d'entraînement. Une fois les données importées, vous pouvez apporter des modifications et démarrer l'entraînement du modèle.
Créer un ensemble de données
Utilisez les exemples suivants pour créer un ensemble de données pour vos données.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
LOCATION : région où l'ensemble de données sera stocké. Il doit s'agir d'une région compatible avec les ressources de l'ensemble de données. Par exemple,
us-central1
. Consultez la liste des emplacements disponibles. - PROJECT : l'ID de votre projet.
- DATASET_NAME : nom de l'ensemble de données.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets
Corps JSON de la requête :
{ "display_name": "DATASET_NAME", "metadata_schema_uri": "gs://google-cloud-aiplatform/schema/dataset/metadata/image_1.0.0.yaml" }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets" | Select-Object -Expand Content
Des résultats semblables aux lignes suivantes devraient s'afficher : Vous pouvez utiliser OPERATION_ID dans la réponse pour obtenir l'état de l'opération.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateDatasetOperationMetadata", "genericMetadata": { "createTime": "2020-07-07T21:27:35.964882Z", "updateTime": "2020-07-07T21:27:35.964882Z" } } }
Terraform
L'exemple suivant utilise la ressource Terraform google_vertex_ai_dataset
pour créer un ensemble de données d'images nommé image-dataset
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
L'exemple suivant utilise le SDK Vertex AI pour Python pour créer un ensemble de données et importer des données. Si vous exécutez cet exemple de code, vous pouvez ignorer la section Importer des données de ce guide.
Cet exemple montre comment importer des données pour la classification à étiquette unique. Si votre modèle a un objectif différent, vous devez ajuster le code.
Importer des données
Après avoir créé un ensemble de données vide, vous pouvez y importer vos données. Si vous avez utilisé le SDK Vertex AI pour Python pour créer l'ensemble de données, vous avez peut-être déjà importé des données lors de la création de l'ensemble de données. Si tel est le cas, vous pouvez ignorer cette section.
Sélectionnez l'onglet correspondant à votre objectif :
Classification à étiquette unique
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
LOCATION : région où se trouve l'ensemble de données. Exemple :
us-central1
- PROJECT_ID : l'ID de votre projet.
- DATASET_ID : ID de l'ensemble de données.
- IMPORT_FILE_URI : chemin d'accès au fichier CSV ou JSON Lines dans Cloud Storage qui répertorie les éléments de données stockés dans Cloud Storage à utiliser pour l'entraînement du modèle. Pour connaître les limites et les formats de fichiers d'importation, consultez la page Préparer les données d'image.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
Corps JSON de la requête :
{ "import_configs": [ { "gcs_source": { "uris": "IMPORT_FILE_URI" }, "import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_single_label_io_format_1.0.0.yaml" } ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
Des résultats semblables aux lignes suivantes devraient s'afficher : Vous pouvez utiliser OPERATION_ID dans la réponse pour obtenir l'état de l'opération.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata", "genericMetadata": { "createTime": "2020-07-08T20:32:02.543801Z", "updateTime": "2020-07-08T20:32:02.543801Z" } } }
Java
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Classification multi-étiquette
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
-
LOCATION : région où se trouve l'ensemble de données. Exemple :
us-central1
- PROJECT_ID : l'ID de votre projet.
- DATASET_ID : ID de l'ensemble de données.
- IMPORT_FILE_URI : chemin d'accès au fichier CSV ou JSON Lines dans Cloud Storage qui répertorie les éléments de données stockés dans Cloud Storage à utiliser pour l'entraînement du modèle. Pour connaître les limites et les formats de fichiers d'importation, consultez la page Préparer les données d'image.
Méthode HTTP et URL :
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import
Corps JSON de la requête :
{ "import_configs": [ { "gcs_source": { "uris": "IMPORT_FILE_URI" }, "import_schema_uri" : "gs://google-cloud-aiplatform/schema/dataset/ioformat/image_classification_multi_label_io_format_1.0.0.yaml" } ] }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasets/DATASET_ID:import" | Select-Object -Expand Content
Des résultats semblables aux lignes suivantes devraient s'afficher : Vous pouvez utiliser OPERATION_ID dans la réponse pour obtenir l'état de l'opération.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/datasets/DATASET_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ImportDataOperationMetadata", "genericMetadata": { "createTime": "2020-07-08T20:32:02.543801Z", "updateTime": "2020-07-08T20:32:02.543801Z" } } }
Python
Pour savoir comment installer ou mettre à jour le SDK Vertex AI pour Python, consultez la section Installer le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API Python.
Obtenir l'état de l'opération
Certaines requêtes démarrent des opérations de longue durée qui nécessitent du temps. Ces requêtes renvoient un nom d'opération, que vous pouvez utiliser pour afficher l'état de l'opération ou pour annuler l'opération. Vertex AI propose des méthodes d'assistance pour appeler les opérations de longue durée. Pour en savoir plus, consultez la section Travailler avec des opérations de longue durée.