Utilisation de l'outil neptune-export ou du service d'exportation Neptune pour exporter des données depuis Neptune pour Neptune ML - 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.

Utilisation de l'outil neptune-export ou du service d'exportation Neptune pour exporter des données depuis Neptune pour Neptune ML

Neptune ML nécessite que vous fournissiez des données d'entraînement pour Deep Graph Library (DGL) afin de créer et d'évaluer des modèles.

Vous pouvez exporter des données depuis Neptune à l'aide du service d'exportation Neptune ou de l'utilitaire neptune-export. Le service et l'outil de ligne de commande publient les données dans Amazon Simple Storage Service (Amazon S3) dans un format CSV, chiffrées à l'aide du chiffrement côté serveur Amazon S3 (SSE-S3). Consultez Fichiers exportés par Neptune-Export et neptune-export.

En outre, lorsque vous configurez une exportation de données d'entraînement pour Neptune ML, la tâche d'exportation crée et publie un fichier de configuration d'entraînement de modèle chiffré avec les données exportées. Par défaut, ce fichier est nommé training-data-configuration.json.

Exemples d'utilisation du service d'exportation Neptune pour exporter des données d'entraînement pour Neptune ML

Cette demande exporte les données d'entraînement de graphe de propriétés pour une tâche de classification de nœud :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)", "profile": "neptune_ml" }, "additionalParams": { "neptune_ml": { "version": "v2.0", "targets": [ { "node": "Movie", "property": "genre", "type": "classification" } ] } } }'

Cette demande exporte les données d'entraînement RDF pour une tâche de classification de nœud :

curl \ (your NeptuneExportApiUri) \ -X POST \ -H 'Content-Type: application/json' \ -d '{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)", "profile": "neptune_ml" }, "additionalParams": { "neptune_ml": { "version": "v2.0", "targets": [ { "node": "http://aws.amazon.com/neptune/csv2rdf/class/Movie", "predicate": "http://aws.amazon.com/neptune/csv2rdf/datatypeProperty/genre", "type": "classification" } ] } } }'

Champs à définir dans l'objet params lors de l'exportation des données d'entraînement

L'objet d'une demande d'exportation peut contenir différents champs, comme décrit dans la documentation params. Les champs suivants sont particulièrement pertinents pour l'exportation de données d'entraînement de machine learning :

  • endpoint : utilisez endpoint pour spécifier un point de terminaison d'une instance Neptune dans votre cluster de bases de données que le processus d'exportation peut interroger pour extraire des données.

  • profile : le champ profile de l'objet params doit être défini sur neptune-ml.

    Cela permet au processus d'exportation de formater les données exportées de manière appropriée pour l'entraînement de modèle Neptune ML, au format CSV pour des données de graphe de propriétés ou sous forme de N-Triples pour des données RDF. Cela entraîne également la création et l'écriture d'un fichier training-data-configuration.json dans le même emplacement Amazon S3 que les données d'entraînement exportées.

  • cloneCluster : s'il est défini sur true, le processus d'exportation clone votre cluster de bases de données, exporte depuis le clone, puis supprime le clone une fois terminé.

  • useIamAuth : si l'authentification IAM est activée sur votre cluster de bases de données, vous devez inclure ce champ défini sur true.

Le processus d'exportation propose également plusieurs méthodes pour filtrer les données que vous exportez (voir ces exemples).

Utilisation de l'objet additionalParams pour régler l'exportation d'informations d'entraînement de modèle

L'objet additionalParams contient des champs que vous pouvez utiliser pour spécifier des étiquettes de classe de machine learning et des fonctionnalités à des fins d'entraînement et pour guider la création d'un fichier de configuration de données d'entraînement.

Le processus d'exportation ne permet pas de déduire automatiquement quelles propriétés de nœud et d'arête doivent être les étiquettes de classe de machine learning qui doivent servir d'exemples à des fins d'entraînement. Il ne peut pas non plus déduire automatiquement le meilleur encodage des fonctionnalités pour les propriétés numériques, catégorielles et textuelles. Vous devez donc fournir des indications à l'aide des champs de l'objet additionalParams pour spécifier ces éléments ou pour remplacer l'encodage par défaut.

Pour des données de graphe de propriétés, la structure de haut niveau d'additionalParams dans une demande d'exportation peut ressembler à ceci :

{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)", "profile": "neptune_ml" }, "additionalParams": { "neptune_ml": { "version": "v2.0", "targets": [ (an array of node and edge class label targets) ], "features": [ (an array of node feature hints) ] } } }

Pour des données RDF, leur structure de haut niveau peut ressembler à ceci :

{ "command": "export-rdf", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)", "profile": "neptune_ml" }, "additionalParams": { "neptune_ml": { "version": "v2.0", "targets": [ (an array of node and edge class label targets) ] } } }

Vous pouvez également fournir plusieurs configurations d'exportation à l'aide du champ jobs :

{ "command": "export-pg", "outputS3Path": "s3://(your Amazon S3 bucket)/neptune-export", "params": { "endpoint": "(your Neptune endpoint DNS name)", "profile": "neptune_ml" }, "additionalParams" : { "neptune_ml" : { "version": "v2.0", "jobs": [ { "name" : "(training data configuration name)", "targets": [ (an array of node and edge class label targets) ], "features": [ (an array of node feature hints) ] }, { "name" : "(another training data configuration name)", "targets": [ (an array of node and edge class label targets) ], "features": [ (an array of node feature hints) ] } ] } } }

Éléments de haut niveau dans le champ neptune_ml, dans additionalParams

Élément version dans neptune_ml

Spécifie la version de configuration des données d'entraînement à générer.

(Facultatif), Type : string, Valeur par défaut : « v2.0 ».

Si vous incluez version, réglez-la sur v2.0.

Champ jobs dans neptune_ml

Contient un tableau d'objets de configuration de données d'entraînement, chacun définissant une tâche de traitement de données et contenant :

  • name : nom de la configuration des données d'entraînement à créer.

    Par exemple, une configuration de données d'entraînement portant le nom « job-number-1 » donne lieu à un fichier de configuration de données d'entraînement nommé job-number-1.json.

  • targets : tableau JSON de cibles d'étiquettes de classes de nœuds et d'arêtes qui représentent les étiquettes des classes de machine learning à des fins d'entraînement. Consultez Champ targets dans un objet neptune_ml.

  • features : tableau JSON de fonctionnalités de propriété de nœud. Consultez Champ features dans neptune_ml.