Eu construí uma rede neural com Keras. Eu visualizaria seus dados pelo Tensorboard, portanto, utilizei:
keras.callbacks.TensorBoard(log_dir='/Graph', histogram_freq=0,
write_graph=True, write_images=True)
como explicado em keras.io . Quando executo o retorno de chamada, recebo <keras.callbacks.TensorBoard at 0x7f9abb3898>
, mas não recebo nenhum arquivo na minha pasta "Gráfico". Há algo de errado em como eu usei esse retorno de chamada?
keras
tensorboard
Simone
fonte
fonte
histogram_freq
como1
. "histogram_freq: frequência (em épocas) na qual calcular histogramas de ativação para as camadas do modelo. Se definido como 0, os histogramas não serão computados."Respostas:
Essa linha cria um objeto Tensorboard de retorno de chamada. Você deve capturar esse objeto e atribuí-lo à
fit
função do seu modelo.Dessa forma, você deu seu objeto de retorno de chamada para a função. Ele será executado durante o treinamento e produzirá arquivos que podem ser usados com o tensorboard.
Se você deseja visualizar os arquivos criados durante o treinamento, execute no seu terminal
Espero que isto ajude !
fonte
É assim que você usa o retorno de chamada TensorBoard :
fonte
histogram_freq=0
é definido se o tensorboard não registrar nenhum histograma portf.summary.histogram
- caso contráriohistogram_freq
, NÃO será igual a 0!mudança
para
e defina seu modelo
Corra no seu terminal
fonte
AttributeError: 'TensorBoard' object has no attribute 'set_model'
.Se você estiver trabalhando com a biblioteca Keras e quiser usar o tensorboard para imprimir seus gráficos de precisão e outras variáveis, a seguir estão as etapas a seguir.
Etapa 1: inicialize a biblioteca de retorno de chamada keras para importar o tensorboard usando o comando abaixo
Etapa 2: inclua o comando abaixo em seu programa imediatamente antes do comando "model.fit ()".
Nota: Use "./graph". Ele irá gerar a pasta do gráfico no seu diretório de trabalho atual, evite usar "/ graph".
Etapa 3: inclua o retorno de chamada da Tensorboard em "model.fit ()". A amostra é fornecida abaixo.
Etapa 4: Execute o seu código e verifique se a sua pasta gráfica está no seu diretório de trabalho. se os códigos acima funcionarem corretamente, você terá a pasta "Graph" em seu diretório de trabalho.
Etapa 5: Abra o Terminal no seu diretório de trabalho e digite o comando abaixo.
Etapa 6: Agora abra o seu navegador e digite o endereço abaixo.
Depois de entrar, a página Tensorbaord será aberta, onde você poderá ver seus gráficos de diferentes variáveis.
fonte
histogram_freq=0
é definido se o tensorboard não registrar nenhum histograma portf.summary.histogram
- caso contráriohistogram_freq
, NÃO será igual a 0!Aqui está um código:
Basicamente,
histogram_freq=2
é o parâmetro mais importante a ser sintonizado ao chamar esse retorno de chamada: ele define um intervalo de épocas para chamar o retorno de chamada, com o objetivo de gerar menos arquivos em discos.Então, aqui está um exemplo de visualização da evolução dos valores para a última convolução durante o treinamento, uma vez vista no TensorBoard, na guia "histogramas" (e eu achei a guia "distribuições" contendo gráficos muito semelhantes, mas invertidos):
Caso queira ver um exemplo completo no contexto, consulte este projeto de código aberto: https://github.com/Vooban/Hyperopt-Keras-CNN-CIFAR-100
fonte
Se você estiver usando o google-colab, a visualização simples do gráfico seria:
fonte
Você escreveu
log_dir='/Graph'
, você quis dizer em./Graph
vez disso? Você enviou/home/user/Graph
no momento.fonte
/Graph
criar uma pasta no diretório inicial do usuário em vez de apenas usar/Graph
diretamente?Você deve conferir o Losswise ( https://losswise.com ), ele possui um plug-in para o Keras que é mais fácil de usar do que o Tensorboard e possui alguns recursos extras interessantes. Com o Losswise, você apenas usa
from losswise.libs import LosswiseKerasCallback
e entãocallback = LosswiseKerasCallback(tag='my fancy convnet 1')
está pronto (consulte https://docs.losswise.com/#keras-plugin ).fonte
Existem poucas coisas.
Primeiro, não
/Graph
mas./Graph
Segundo, quando você usa o retorno de chamada TensorBoard, sempre passe dados de validação, porque sem ele, ele não seria iniciado.
Terceiro, se você quiser usar qualquer coisa, exceto resumos escalares, use o
fit
método apenas porquefit_generator
não funcionará. Ou você pode reescrever o retorno de chamada para trabalharfit_generator
.Para adicionar retornos de chamada, basta adicioná-lo a
model.fit(..., callbacks=your_list_of_callbacks)
fonte
Crie o retorno de chamada do Tensorboard:
Passe o retorno de chamada da Tensorboard para a chamada de ajuste:
Ao executar o modelo, se você receber um erro Keras de
tente redefinir a sessão Keras antes da criação do modelo, fazendo:
fonte
You must feed a value for placeholder tensor
. Alguma idéia do porquê?