View a markdown version of this page

Traitement des données de graphe exportées depuis Neptune pour l'entraînement - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Traitement des données de graphe exportées depuis Neptune pour l'entraînement

L'étape de traitement des données prend les données de graphe Neptune créées par le processus d'exportation et crée les informations utilisées par la bibliothèque Deep Graph Library (DGL) pendant l'entraînement. Cela inclut la réalisation de divers mappages et transformations de données :

  • Analyse des nœuds et des arêtes pour créer les fichiers de mappage de graphes et d'identifiants requis par la bibliothèque DGL.

  • Conversion des propriétés de nœud et d'arête en fonctionnalités de nœud et d'arête requises par la bibliothèque DGL.

  • Division des données en jeux de données d'entraînement, de validation et de test.

Gestion de l'étape de traitement des données pour Neptune ML

Après avoir exporté les données de Neptune que vous souhaitez utiliser pour l'entraînement des modèles, vous pouvez démarrer une tâche de traitement des données à l'aide d'une commande comme celle-ci :

AWS CLI
aws neptunedata start-ml-data-processing-job \ --endpoint-url https://your-neptune-endpoint:port \ --input-data-s3-location "s3://(S3 bucket name)/(path to your input folder)" \ --id "(a job ID for the new job)" \ --processed-data-s3-location "s3://(S3 bucket name)/(path to your output folder)" \ --config-file-name "training-job-configuration.json"

Pour plus d'informations, consultez start-ml-data-processing-job dans le manuel de référence des AWS CLI commandes.

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.start_ml_data_processing_job( inputDataS3Location='s3://(S3 bucket name)/(path to your input folder)', id='(a job ID for the new job)', processedDataS3Location='s3://(S3 bucket name)/(path to your output folder)', configFileName='training-job-configuration.json' ) print(response)
awscurl
awscurl https://your-neptune-endpoint:port/ml/dataprocessing \ --region us-east-1 \ --service neptune-db \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "inputDataS3Location" : "s3://(S3 bucket name)/(path to your input folder)", "id" : "(a job ID for the new job)", "processedDataS3Location" : "s3://(S3 bucket name)/(path to your output folder)", "configFileName" : "training-job-configuration.json" }'
Note

Cet exemple suppose que vos AWS informations d'identification sont configurées dans votre environnement. Remplacez us-east-1 par la région de votre cluster Neptune.

curl
curl \ -X POST https://your-neptune-endpoint:port/ml/dataprocessing \ -H 'Content-Type: application/json' \ -d '{ "inputDataS3Location" : "s3://(S3 bucket name)/(path to your input folder)", "id" : "(a job ID for the new job)", "processedDataS3Location" : "s3://(S3 bucket name)/(path to your output folder)", "configFileName" : "training-job-configuration.json" }'

Les détails de l'utilisation de cette commande sont expliqués dans Commande dataprocessing, avec d'autres informations sur la façon d'obtenir le statut d'une tâche en cours d'exécution, d'arrêter une tâche en cours d'exécution et de répertorier toutes les tâches en cours d'exécution.

Traitement de données de graphe mises à jour pour Neptune ML

Vous pouvez également fournir un previousDataProcessingJobId à l'API pour vous assurer que la nouvelle tâche de traitement de données utilise la même méthode de traitement qu'une tâche précédente. Cela est nécessaire lorsque vous souhaitez obtenir des prédictions pour des données de graphe mises à jour dans Neptune, soit en réentraînant l'ancien modèle sur les nouvelles données, soit en recalculant les artefacts de modèle sur les nouvelles données.

Pour ce faire, utilisez une commande comme celle-ci :

AWS CLI
aws neptunedata start-ml-data-processing-job \ --endpoint-url https://your-neptune-endpoint:port \ --input-data-s3-location "s3://(Amazon S3 bucket name)/(path to your input folder)" \ --id "(a job ID for the new job)" \ --processed-data-s3-location "s3://(Amazon S3 bucket name)/(path to your output folder)" \ --previous-data-processing-job-id "(the job ID of the previous data-processing job)"

Pour plus d'informations, consultez start-ml-data-processing-job dans le manuel de référence des AWS CLI commandes.

SDK
import boto3 from botocore.config import Config client = boto3.client( 'neptunedata', endpoint_url='https://your-neptune-endpoint:port', config=Config(read_timeout=None, retries={'total_max_attempts': 1}) ) response = client.start_ml_data_processing_job( inputDataS3Location='s3://(Amazon S3 bucket name)/(path to your input folder)', id='(a job ID for the new job)', processedDataS3Location='s3://(Amazon S3 bucket name)/(path to your output folder)', previousDataProcessingJobId='(the job ID of the previous data-processing job)' ) print(response)
awscurl
awscurl https://your-neptune-endpoint:port/ml/dataprocessing \ --region us-east-1 \ --service neptune-db \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "inputDataS3Location" : "s3://(Amazon S3 bucket name)/(path to your input folder)", "id" : "(a job ID for the new job)", "processedDataS3Location" : "s3://(Amazon S3 bucket name)/(path to your output folder)", "previousDataProcessingJobId" : "(the job ID of the previous data-processing job)" }'
Note

Cet exemple suppose que vos AWS informations d'identification sont configurées dans votre environnement. Remplacez us-east-1 par la région de votre cluster Neptune.

curl
curl \ -X POST https://your-neptune-endpoint:port/ml/dataprocessing \ -H 'Content-Type: application/json' \ -d '{ "inputDataS3Location" : "s3://(Amazon S3 bucket name)/(path to your input folder)", "id" : "(a job ID for the new job)", "processedDataS3Location" : "s3://(Amazon S3 bucket name)/(path to your output folder)", "previousDataProcessingJobId" : "(the job ID of the previous data-processing job)" }'

Définissez la valeur du paramètre previousDataProcessingJobId sur l'ID de tâche de la tâche de traitement de données précédente qui correspond au modèle entraîné.

Note

La suppression de nœud dans le graphe mis à jour n'est actuellement pas prise en charge. Si des nœuds ont été supprimés dans un graphe mis à jour, vous devez démarrer une toute nouvelle tâche de traitement de données plutôt qu'utiliser previousDataProcessingJobId.