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á.
Definir métricas de treinamento
SageMaker A IA analisa automaticamente os registros de tarefas de treinamento e envia métricas de treinamento para o. CloudWatch Por padrão, a SageMaker IA envia métricas de utilização de recursos do sistema listadas em SageMaker AI Jobs and Endpoint Metrics. Se você quiser que a SageMaker IA analise registros e envie métricas personalizadas de um trabalho de treinamento de seu próprio algoritmo para CloudWatch, você precisa especificar definições de métricas passando o nome das métricas e expressões regulares ao configurar uma solicitação de trabalho de treinamento de SageMaker IA.
Você pode especificar as métricas que deseja monitorar usando o console de SageMaker IA, o SDK do
Se estiver usando seu próprio algoritmo, faça o seguinte:
-
Certifique-se de que o algoritmo grave as métricas que você deseja capturar nos logs.
-
Defina uma expressão regular que pesquise com precisão os registros para capturar os valores das métricas para as quais você deseja enviar CloudWatch.
Por exemplo, suponhamos que o seu algoritmo emita as seguintes métricas de erro de treinamento e de validação:
Train_error=0.138318; Valid_error=0.324557;
Se você quiser monitorar essas duas métricas em CloudWatch, o dicionário para as definições de métricas deve ter a aparência do exemplo a seguir:
[ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ]
No regex da train:error métrica definida no exemplo anterior, a primeira parte do regex encontra o texto exato "Train_error=” e a expressão (.*?); captura todos os caracteres até que o primeiro caractere de ponto e vírgula apareça. Nessa expressão, os parênteses informam ao regex para capturar o que está dentro deles, . significa qualquer caractere, * significa zero ou mais, e ? significa capturar apenas até a primeira instância do caractere ;.
Defina métricas usando o SDK do SageMaker AI Python
Defina as métricas para as quais você deseja enviar CloudWatch especificando uma lista de definições de métricas em AlgorithmSpecification ao criar um TrainingJob usosagemaker-core. Por exemplo, se você quiser monitorar as validation:error métricas train:error e em CloudWatch, sua TrainingJob.create() chamada teria a seguinte aparência:
from sagemaker.core.resources import TrainingJob from sagemaker.core.shapes import ( AlgorithmSpecification, MetricDefinition, ResourceConfig, OutputDataConfig, StoppingCondition, ) TrainingJob.create( training_job_name="my-training-job", role_arn="arn:aws:iam::123456789012:role/SageMakerRole", algorithm_specification=AlgorithmSpecification( training_image="your-own-image-uri", training_input_mode="File", metric_definitions=[ MetricDefinition(name="train:error", regex="Train_error=(.*?);"), MetricDefinition(name="validation:error", regex="Valid_error=(.*?);"), ], ), resource_config=ResourceConfig( instance_type="ml.c4.xlarge", instance_count=1, volume_size_in_gb=30, ), output_data_config=OutputDataConfig(s3_output_path="s3://bucket/output"), stopping_condition=StoppingCondition(max_runtime_in_seconds=3600), )
Para obter mais informações sobre treinamento usando o Amazon SageMaker Python SDK
Defina métricas usando o SageMaker AI Console
Se você escolher a opção Seu próprio contêiner de algoritmo no ECR como sua fonte de algoritmo no console de SageMaker IA ao criar um trabalho de treinamento, adicione as definições de métricas na seção Métricas. A captura de tela a seguir mostra como ela deve ficar depois de adicionar os nomes das métricas de exemplo e as expressões regulares correspondentes.
Defina métricas usando a API Low-level SageMaker AI
Defina as métricas para as quais você deseja enviar CloudWatch especificando uma lista de nomes de métricas e expressões regulares no MetricDefinitions campo do parâmetro de AlgorithmSpecification entrada que você passa para a CreateTrainingJob operação. Por exemplo, se você quiser monitorar as validation:error métricas train:error e em CloudWatch, você AlgorithmSpecification se pareceria com o seguinte exemplo:
"AlgorithmSpecification": { "TrainingImage":your-own-image-uri, "TrainingInputMode": "File", "MetricDefinitions" : [ { "Name": "train:error", "Regex": "Train_error=(.*?);" }, { "Name": "validation:error", "Regex": "Valid_error=(.*?);" } ] }
Para obter mais informações sobre como definir e executar um trabalho de treinamento usando a API de SageMaker IA de baixo nível, consulte CreateTrainingJob.