Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Acesse os dados de estatísticas de perfil do Python

Modo de foco
Acesse os dados de estatísticas de perfil do Python - SageMaker IA da Amazon

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á.

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á.

O perfil do Python fornece métricas de estrutura relacionadas às funções e operadores do Python em seus scripts de treinamento e nas estruturas de aprendizado profundo de IA. SageMaker

Modos e fases de treinamento para criação de perfil em Python

Para traçar o perfil de intervalos específicos durante o treinamento para particionar estatísticas para cada um desses intervalos, o Debugger fornece ferramentas para definir modos e fases.

Para modos de treinamento, use a seguinte classe PythonProfileModes:

from smdebug.profiler.python_profile_utils import PythonProfileModes

Essa classe fornece as seguintes opções:

  • PythonProfileModes.TRAIN: Use se quiser traçar o perfil das etapas desejadas na fase de treinamento. Esta opção de modo está disponível somente para TensorFlow.

  • PythonProfileModes.EVAL: Use se quiser traçar o perfil das etapas desejadas na fase de avaliação. Esta opção de modo está disponível somente para TensorFlow.

  • PythonProfileModes.PREDICT: Use se quiser traçar o perfil das etapas desejadas na fase de predição. Esta opção de modo está disponível somente para TensorFlow.

  • PythonProfileModes.GLOBAL: Use se quiser traçar o perfil das etapas de destino na fase global, que inclui as três fases anteriores. Esta opção de modo está disponível somente para PyTorch.

  • PythonProfileModes.PRE_STEP_ZERO: Use se quiser traçar o perfil das etapas de destino no estágio de inicialização antes do início da primeira etapa de treinamento da primeira época. Essa fase inclui o envio inicial do trabalho, o upload dos scripts de treinamento para as EC2 instâncias, a preparação das EC2 instâncias e o download dos dados de entrada. Esta opção de modo está disponível para TensorFlow PyTorch e.

  • PythonProfileModes.POST_HOOK_CLOSE: Use se quiser traçar o perfil das etapas de destino no estágio de finalização após a conclusão do trabalho de treinamento e o hook do Debugger estiver fechado. Essa fase inclui dados de criação de perfil enquanto os trabalhos de treinamento são finalizados e concluídos. Esta opção de modo está disponível para TensorFlow PyTorch e.

Para fases de treinamento, use a classe StepPhase a seguir:

from smdebug.profiler.analysis.utils.python_profile_analysis_utils import StepPhase

Essa classe fornece as seguintes opções:

  • StepPhase.START: Use para especificar o ponto inicial da fase de inicialização.

  • StepPhase.STEP_START: Use para especificar o ponto inicial da fase de treinamento.

  • StepPhase.FORWARD_PASS_END: Use para especificar as etapas em que a passagem para frente termina. Essa opção está disponível somente para PyTorch.

  • StepPhase.STEP_END: Use para especificar o ponto final da fase de treinamento. Essa opção está disponível somente para TensorFlow.

  • StepPhase.END— Use para especificar o ponto final da fase de finalização (post-hook-close). Se o hook de retorno de chamada não estiver fechado, a criação do perfil da fase de finalização não ocorrerá.

Ferramentas de análise de perfil do Python

O Debugger é compatível com a criação de perfil do Python com duas ferramentas de criação de perfil:

  • cProfile: O criador de perfil padrão do Python. O cProfile coleta métricas da estrutura sobre o tempo de CPU para cada função chamada quando a criação de perfil foi ativada.

  • Pyinstrument: Este é um criador de perfil Python de baixa sobrecarga que amostra eventos de criação de perfil a cada milissegundo.

Para saber mais sobre as opções de criação de perfil do Python e o que é coletado, consulte Monitoramento padrão do sistema e a criação de perfil personalizado de framework com diferentes opções de criação de perfil.

Os seguintes métodos das classesPythonProfileAnalysis, cProfileAnalysis, PyinstrumentAnalysis são fornecidos para buscar e analisar os dados de criação de perfil do Python: Cada função carrega os dados mais recentes do URI padrão do S3.

from smdebug.profiler.analysis.python_profile_analysis import PythonProfileAnalysis, cProfileAnalysis, PyinstrumentAnalysis

Para definir objetos de criação de perfil do Python para análise, use as PyinstrumentAnalysis classes cProfileAnalysis ou conforme mostrado no código de exemplo a seguir. Ele mostra como definir um objeto cProfileAnalysis e, se você quiser usar PyinstrumentAnalysis, tem que substituir o nome da classe.

python_analysis = cProfileAnalysis( local_profile_dir=tf_python_stats_dir, s3_path=tj.profiler_s3_output_path )

Os métodos a seguir estão disponíveis para as PyinstrumentAnalysis classes cProfileAnalysis e buscarem os dados estatísticos de perfil do Python:

  • python_analysis.fetch_python_profile_stats_by_time(start_time_since_epoch_in_secs, end_time_since_epoch_in_secs): Assume a hora de início e a hora de término e retorna as estatísticas de função das estatísticas da etapa cujos horários de início ou término se sobrepõem ao intervalo fornecido.

  • python_analysis.fetch_python_profile_stats_by_step(start_step, end_step, mode, start_phase, end_phase): Assume uma etapa inicial e uma etapa final e retorna as estatísticas da função de todas as estatísticas da etapa em que o perfil step satisfaz start_step <= step < end_step.

    • start_step e end_step (str): Especifique a etapa inicial e a etapa final para buscar os dados de estatísticas de perfil do Python.

    • mode (str): Especifique o modo de trabalho de treinamento usando a classe do PythonProfileModes enumerador. O padrão é PythonProfileModes.TRAIN. As opções disponíveis são fornecidas na seção Modos e fases de treinamento para criação de perfil em Python.

    • start_phase(str): Especifique a fase inicial nas etapas de destino usando a classe StepPhase do enumerador. Esse parâmetro permite a criação de perfis entre as diferentes fases do treinamento. O padrão é StepPhase.STEP_START. As opções disponíveis são fornecidas na seção Modos e fases de treinamento para criação de perfil em Python.

    • end_phase(str): Especifique a fase final nas etapas de destino usando a classe StepPhase do enumerador. Esse parâmetro configura a fase final do treinamento. As opções disponíveis são as mesmas do parâmetro start_phase. O padrão é StepPhase.STEP_END. As opções disponíveis são fornecidas na seção Modos e fases de treinamento para criação de perfil em Python.

  • python_analysis.fetch_profile_stats_between_modes(start_mode, end_mode): Busca estatísticas do perfil do Python entre os modos inicial e final.

  • python_analysis.fetch_pre_step_zero_profile_stats(): Busca as estatísticas da criação de perfil do Python até a etapa 0.

  • python_analysis.fetch_post_hook_close_profile_stats(): Busca estatísticas do perfil do Python depois que o hook é fechado.

  • python_analysis.list_profile_stats()— Retorna uma DataFrame das estatísticas de criação de perfil do Python. Cada linha contém os metadados de cada instância de criação de perfil e o arquivo de estatísticas correspondente (um por etapa).

  • python_analysis.list_available_node_ids()— Retorna uma lista do nó disponível IDs para as estatísticas de criação de perfil do Python.

Os métodos específicos da classe cProfileAnalysis:

  • fetch_profile_stats_by_training_phase(): Busca e agrega as estatísticas de criação de perfil do Python para todas as combinações possíveis dos modos inicial e final. Por exemplo, se as fases de treinamento e validação forem concluídas enquanto a criação de perfil detalhada estiver ativada, as combinações serão (PRE_STEP_ZERO, TRAIN), (TRAIN, TRAIN), (TRAIN, EVAL), (EVAL, EVAL) e (EVAL, POST_HOOK_CLOSE), Todos os arquivos de estatísticas em cada uma dessas combinações são agregados.

  • fetch_profile_stats_by_job_phase(): Busca e agrega as estatísticas de criação de perfil do Python por fase do trabalho. As fases do trabalho são initialization (criação de perfil até a etapa 0), training_loop (treinamento e validação) e finalization (criação de perfil após o fechamento do hook).

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.