View a markdown version of this page

Processar os dados de grafos exportados do Neptune para treinamento - Amazon Neptune

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Processar os dados de grafos exportados do Neptune para treinamento

A etapa de processamento de dados usa os dados de grafos do Neptune criados pelo processo de exportação e cria as informações que são usadas pela Deep Graph Library (DGL) durante o treinamento. Isso inclui a realização de vários mapeamentos e transformações de dados:

  • Análise de nós e bordas para criar os arquivos de mapeamento de grafos e de ID exigidos pela DGL.

  • Conversão das propriedades do nó e da borda nos atributos do nó e da borda exigidos pela DGL.

  • Divisão dos dados em conjuntos de treinamento, validação e teste.

Gerenciamento da etapa de processamento de dados do Neptune ML.

Depois de exportar os dados do Neptune que você deseja usar para treinamento de modelos, você pode iniciar um trabalho de processamento de dados usando um comando como o seguinte:

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"

Para obter mais informações, consulte start-ml-data-processing-job na Referência de AWS CLI Comandos.

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" }'
nota

Este exemplo pressupõe que suas AWS credenciais estejam configuradas em seu ambiente. us-east-1Substitua pela região do seu 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" }'

Os detalhes de como usar esse comando são explicados em O comando de processamento de dados, junto com informações sobre como obter o status de um trabalho em execução, como interrompê-lo e como listar todos os trabalhos em execução.

Processar dados de grafos atualizados para o Neptune ML

Também é possível fornecer um previousDataProcessingJobId à API para garantir que o novo trabalho de processamento de dados use o mesmo método de processamento de um trabalho anterior. Esse procedimento é necessário quando você deseja obter previsões para dados de grafos atualizados no Neptune, seja treinando novamente o modelo antigo nos novos dados ou recalculando os artefatos do modelo nos novos dados.

Você faz isso usando um comando como este:

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)"

Para obter mais informações, consulte start-ml-data-processing-job na Referência de AWS CLI Comandos.

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)" }'
nota

Este exemplo pressupõe que suas AWS credenciais estejam configuradas em seu ambiente. us-east-1Substitua pela região do seu 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)" }'

Defina o valor do parâmetro previousDataProcessingJobId como o ID de trabalho do processamento de dados anterior correspondente ao modelo treinado.

nota

No momento, exclusões de nós no grafo atualizado não são aceitas. Se os nós tiverem sido removidos em um grafo atualizado, você precisará iniciar um trabalho de processamento de dados completamente novo em vez de usar previousDataProcessingJobId.