Path: blob/master/site/pt-br/tensorboard/get_started.ipynb
25115 views
Copyright 2019 The TensorFlow Authors.
Introdução ao TensorBoard
No aprendizado de máquina, para melhorar algo, você geralmente precisa conseguir medi-lo. O TensorBoard é uma ferramenta que fornece medições e visualizações necessárias durante o fluxo de trabalho do aprendizado de máquina. Ele permite monitorar métricas de experimento, como perda e exatidão, visualizar o grafo do modelo, projetar embeddings em um espaço de menos dimensões e muito mais.
Este guia rápido mostra como começar a usar o TensorBoard. Os outros guias deste site oferecem mais detalhes sobre recursos específicos, muitos deles não inclusos aqui.
Usando o dataset MNIST como exemplo, normalize os dados e escreva uma função que cria um modelo simples do Keras para classificar as imagens em 10 classes.
Uso do TensorBoard com o Model.fit() do Keras
Ao treinar com o Model.fit() do Keras, a inclusão da callback tf.keras.callbacks.TensorBoard
garante a criação e o armazenamento dos logs. Além disso, ative a computação do histograma de cada época com histogram_freq=1
(é desativada por padrão).
Coloque os logs em um subdiretório com carimbos de data/hora para selecionar facilmente execuções de treinamento diferentes.
Inicialize o TensorBoard pela linha de comando ou em uma experiência de notebook. As duas interfaces são geralmente iguais. Em notebooks, use o magic de linha %tensorboard
. Na linha de comando, execute o mesmo comando sem o "%".
Uma breve visão geral das visualizações criadas nesse exemplo e dos painéis de controle (guias na barra de navegação na parte superior) em que elas podem ser encontradas:
Escalares mostram como a perda e as métricas mudam a cada época. Você pode usá-los para monitorar a velocidade do treinamento, a taxa de aprendizado e outros valores escalares. Eles podem ser encontrados nos painéis de controle Time Series (Séries temporais) ou Scalars (Escalares).
Grafos ajudam na visualização do seu modelo. Nesse caso, o grafo de camadas do Keras é exibido, para você garantir que ele foi criado corretamente. Os grafos podem ser encontrados no painel de controle Graphs (Grafos).
Histogramas e Distribuições mostram a distribuição de um Tensor ao longo do tempo. Isso pode ser útil para visualizar pesos e biases e verificar se eles estão mudando de uma maneira esperada. Os histogramas podem ser encontrados nos painéis de controle Time Series ou Histograms (Histogramas). As distribuições podem ser encontradas no painel de controle Distributions (Distribuições).
Os painéis de controle do TensorBoard adicionais são ativados automaticamente quando você registra outros tipos de dados. Por exemplo, a callback do TensorBoard para o Keras deixa você registrar imagens e embeddings também. Você pode ver os outros painéis de controle disponíveis no TensorBoard ao clicar no menu suspenso "inativo" no canto superior direito.
Uso do TensorBoard com outros métodos
Ao treinar com outros métodos, como tf.GradientTape()
, use tf.summary
para registrar as informações necessárias.
Use o mesmo dataset acima, mas converta para tf.data.Dataset
, aproveitando a funcionalidade de lote:
O código de treinamento segue o tutorial guia rápido avançado, mas mostra como registrar as métricas para o TensorBoard. Escolha a perda e o otimizador:
Crie métricas stateful que possam ser usadas para acumular valores durante o treinamento e registradas a qualquer momento:
Defina as funções de treinamento e teste:
Configure escritores de resumo para escrever os resumos no disco em um diretório de logs diferente:
Inicie o treinamento. Use tf.summary.scalar()
para registrar métricas (perda e exatidão) durante o treinamento/teste dentro do escopo dos escritores de resumo para escrever os resumos no disco. Você tem controle sobre quais métricas registrar e com que frequência. Outras funções tf.summary
permitem o registro de outros tipos de dados.
Abra o TensorBoard novamente, desta vez apontando-o para um novo diretório de log. Também poderíamos iniciar o TensorBoard para monitorar o treinamento enquanto ele progride.
Pronto! Agora você já viu como usar o TensorBoard pela callback do Keras e pela tf.summary
para cenários mais personalizados.
TensorBoard.dev: hospede e compartilhe os resultados dos seus experimentos de ML
TensorBoard.dev é um serviço público e gratuito que permite fazer o upload dos seus logs do TensorBoard e obter um permalink que possa ser compartilhado com qualquer pessoa em artigos acadêmicos, postagens de blog, redes sociais etc. Isso pode promover melhor reprodutibilidade e colaboração.
Para usar o TensorBoard.dev, execute o seguinte comando:
Observe que essa invocação usa o prefixo de exclamação (!
) para invocar o shell em vez do prefixo de porcentagem (%
) para invocar o magic do colab. Ao invocar esse comando a partir da linha de comando, não é necessário nenhum prefixo.
Veja um exemplo aqui.
Para mais detalhes sobre como usar o TensorBoard.dev, veja https://tensorboard.dev/#get-started