Pular para o conteúdo principal

TensorBoard

O TensorBoard é um conjunto de ferramentas de visualização para depuração, otimização e compreensão do TensorFlow, PyTorch, Hugging Face Transformers e outros programas de aprendizado de máquina.

Usar o TensorBoard

Iniciar o TensorBoard em Databricks não é diferente de iniciá-lo em um Jupyter Notebook em seu computador local.

  1. Carregue o comando mágico %tensorboard e defina o diretório log.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
  2. Chame o comando mágico %tensorboard.

    %tensorboard --logdir $experiment_log_dir

    O servidor TensorBoard começa e exibe a interface do usuário em linha no Notebook. Ele também fornece um link para abrir o site TensorBoard em um novo tab.

    A captura de tela a seguir mostra a interface do usuário TensorBoard começando em um diretório log preenchido.

    TensorBoard UI começar no diretório log preenchido

O senhor também pode começar TensorBoard usando diretamente o módulo Notebook do TensorBoard.

Python
from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))

TensorBoard logs e diretórios

TensorBoard visualiza seus programas de aprendizado de máquina lendo logs gerado por TensorBoard callbacks e funções em TensorBoard ou PyTorch. Para gerar logs para outras bibliotecas que fazem aprendizado de máquina, o senhor pode escrever diretamente logs usando os gravadores de arquivos TensorFlow (consulte Module: tf.summary para TensorFlow 2.x e consulte Module: tf.compat.v1.summary para o antigo API em TensorFlow 1.x ).

Para garantir que seus experimentos logs sejam armazenados de forma confiável, a Databricks recomenda gravar logs no armazenamento em nuvem em vez de no sistema de arquivos efêmero do clustering. Para cada experimento, comece TensorBoard em um diretório exclusivo. Para cada execução do código de aprendizado de máquina no experimento que gera logs, defina o callback do TensorBoard ou o gravador de arquivos para gravar em um subdiretório do diretório do experimento. Dessa forma, os dados na UI do TensorBoard são separados em execução.

Leia a TensorBoard documentação oficial TensorBoard do para começar a usar o para obter informações log do para seu programa de aprendizado de máquina.

gerenciar TensorBoard processos

Os processos do TensorBoard que começam no Databricks Notebook não são encerrados quando o Notebook é desconectado ou o REPL é reiniciado (por exemplo, quando o senhor limpa o estado do Notebook). Para encerrar manualmente um processo do TensorBoard, envie a ele um sinal de encerramento usando %sh kill -15 pid. Processos do TensorBoard encerrados incorretamente podem corromper o site notebook.list().

Para listar os servidores TensorBoard atualmente em execução em seu clustering, com seus respectivos diretórios log e IDs de processo, execute notebook.list() no módulo TensorBoard Notebook.

Problemas conhecidos

  • A UI do TensorBoard em linha está dentro de um iframe. Os recursos de segurança do navegador impedem que os links externos na interface do usuário funcionem, a menos que o senhor abra o link em um novo tab.
  • A opção --window_title do TensorBoard é substituída no Databricks.
  • Em default, o TensorBoard examina um intervalo de portas para selecionar uma porta para ouvir. Se houver muitos processos TensorBoard em execução no clustering, todas as portas no intervalo de portas poderão ficar indisponíveis. Você pode contornar essa limitação especificando um número de porta com o argumento --port. A porta especificada deve estar entre 6006 e 6106.
  • Para que os links download funcionem, o senhor deve abrir o TensorBoard em um tab.
  • Ao usar o site TensorBoard 1.15.0, o Projector tab fica em branco. Como solução alternativa, para visitar diretamente a página do projetor, você pode substituir #projector na URL por data/plugin/projector/projector_binary.html.
  • O TensorBoard 2.4.0 tem um problema conhecido que pode afetar a renderização do TensorBoard se for atualizado.
  • Se o senhor estiver registrando dados relacionados ao TensorBoard no DBFS ou UC Volumes, poderá receber um erro como No dashboards are active for the current data set. Para evitar esse erro, é recomendável chamar writer.flush() e writer.close() depois de usar writer para log dados. Isso garante que todos os dados de registros sejam gravados corretamente e estejam disponíveis para renderização no site TensorBoard.