Visualização de trabalhos do TensorBoard
O ModelArts oferece suporte ao TensorBoard para a visualização de trabalhos de treinamento. TensorBoard é um pacote de ferramentas de visualização do TensorFlow. Ele fornece funções de visualização e ferramentas necessárias para experimentos de aprendizado de máquina.
O TensorBoard exibe efetivamente o gráfico computacional de TensorFlow no processo de execução, a tendência de todas as métricas no tempo e os dados usados no treinamento.
Pré-requisitos
Ao usar um script de treinamento, adicione o código para coletar o registro de resumo ao script para garantir que o arquivo de resumo seja gerado no resultado do treinamento.
Para obter detalhes sobre como adicionar o código para coletar o registro de resumo a um script de treinamento do TensorFlow, consulte o site oficial do TensorFlow.
Observação
- Um trabalho de visualização em execução não é cobrado separadamente. Quando a instância de notebook de destino é interrompida, o faturamento é interrompido.
- Se o arquivo de resumo estiver armazenado no OBS, você será cobrado pelo armazenamento. Após a conclusão de um trabalho, interrompa a instância do notebook e limpe os dados do OBS para interromper a cobrança.
Processo de criação de um trabalho de visualização do TensorBoard em um ambiente de desenvolvimento
Etapa 1 Criar um ambiente de desenvolvimento e acesse-o on-line
Etapa 1 Criar um ambiente de desenvolvimento e acesse-o on-line
No console de gerenciamento do ModelArts, escolha DevEnviron > Notebook e crie uma instância usando uma imagem do TensorFlow ou do PyTorch. Depois que a instância for criada, clique em Open na coluna Operation da instância para acessá-la on-line.
Somente os flavors de CPU e GPU com TensorFlow2.1, PyTorch1.4 ou PyTorch1.8 e imagens posteriores podem suportar visualização do TensorBoard para trabalhos de treinamento. Selecione imagens e flavors com base nos requisitos do site.
Etapa 2 Carregar os dados de resumo
Os dados de resumo são necessários para usar as funções de visualização do TensorBoard no DevEnviron.
Você pode carregar os dados de resumo para o diretório /home/ma-user/work/ em um ambiente de desenvolvimento ou armazene-os em um sistema de arquivos paralelo do OBS.
- Para obter detalhes sobre como fazer upload dos dados de resumo para o caminho do notebook /home/ma-user/work/, consulte Upload de arquivos para JupyterLab.
- Para armazenar os dados de resumo em um sistema de arquivos paralelo do OBS montado em uma instância de notebook, carregue o arquivo de resumo gerado durante o treinamento do modelo no sistema de arquivos paralelo do OBS e verifique se o sistema de arquivos paralelo do OBS e o ModelArts estão na mesma região. Quando o TensorBoard é iniciado em uma instância de notebook, ela monta automaticamente o diretório do sistema de arquivos paralelo do OBS e lê os dados de resumo.
Etapa 3 Iniciar o TensorBoard
Existem vários métodos para abrir o TensorBoard no JupyterLab no ambiente de desenvolvimento. Escolha um com base em seus hábitos.
Método 1 (recomendado):
- Abra o JupyterLab no painel de navegação à esquerda, crie a pasta summary e carregue os dados para /home/ma-user/work/summary. O nome da pasta deve ser sumário.
- Vá para a pasta summary e clique em para ir para a página de TensorBoard. Consulte Figura 2.
Método 2
Você pode atualizar o TensorBoard para qualquer versão, exceto a 2.4.0. Após a atualização, a nova versão do TensorBoard é usada apenas no método 2. Para outros métodos, utilize o TensorBoard.2.1.
- Clique em para ir para o ambiente de desenvolvimento do JupyterLab. O arquivo .ipynb é criado automaticamente.
- Insira o seguinte comando na caixa de diálogo:
%reload_ext ma_tensorboard %ma_tensorboard --port {PORT} --logdir {BASE_DIR}
Parâmetros:
- port {PORT}: porta de serviço Web para visualização, cujo padrão é 8080. Se a porta padrão 8080 tiver sido usada, especifique uma porta de 1 a 65535.
- logdir {BASE_DIR}: caminho de armazenamento de dados no ambiente de desenvolvimento
- Caminho local do ambiente de desenvolvimento: ./work/xxx (caminho relativo) ou /home/ma-user/work/xxx (caminho absoluto)
- Caminho do sistema de arquivos paralelo do OBS: obs://xxx/
Example: # If the summary data is stored in /home/ma-user/work/ of the development environment, run the following command: %ma_tensorboard --port {PORT} --logdir /home/ma-user/work/xxx or # If the summary data is stored in the OBS parallel file system, run the following command and the development environment automatically mounts the storage path of the OBS parallel file system and reads data. %ma_tensorboard --port {PORT} --logdir obs://xxx/
Figura 3 Página de TensorBoard (2)
Método 3
- Escolha View > Activate Command Palette, insira TensorBoard na caixa de pesquisa e clique em Create a new TensorBoard.
Figura 4 Criar um novo TensorBoard
- Insira o caminho dos dados de resumo que você deseja exibir ou o caminho de armazenamento do sistema de arquivos paralelo do OBS.
- Caminho local do ambiente de desenvolvimento: ./summary (caminho relativo) ou /home/ma-user/work/summary (caminho absoluto)
- Caminho do bucket do sistema de arquivos paralelo do OBS: obs://xxx/
Figura 5 Inserir o caminho de dados de resumo
Figura 6 Página de TensorBoard (3)
Método 4
Clique em e execute o seguinte comando. A IU não será exibida.
tensorboard --logdir ./log
Etapa 4 Exibir dados visualizados no painel de treinamento
Para visualização do TensorBoard, você precisa do painel de treinamento. Ele permite visualizar escalares, imagens e gráficos computacionais.
Para obter mais funções, consulte Introdução ao TensorBoard.
Operações relacionadas
Para interromper uma instância do TensorBoard, use um dos seguintes métodos:
- Método 1: clique em . A página de gerenciamento de instâncias do TensorBoard é exibida, mostrando todas as instâncias do TensorBoard iniciadas. Clique em SHUT DOWN ao lado de uma instância.
Figura 8 Clicar em SHUT DOWN para interromper uma instância
- Método 2: digite o seguinte comando na janela do arquivo .ipynb no JupyterLab (obtenha PID na tela de inicialização ou usando o comando ps -ef | grep tensorboard):
!kill PID
- Método 3: clique em como mostrado na figura a seguir para interromper todas as instâncias do TensorBoard iniciadas.
Figura 9 Interromper todas as instâncias de TensorBoard iniciadas
- (Não recomendado) Método 4: feche a janela do TensorBoard no JupyterLab. Este método fecha apenas a janela, mas a instância ainda está em execução no back-end.