TensorFlow é uma ferramenta de visualização chamada TensorBoard. É usado para analisar o gráfico de fluxo de dados e para entender modelos de aprendizado de máquina. TensorBoard é a interface usada para visualizar o gráfico e muitas ferramentas para entender, depurar e otimizar o modelo.
A característica importante do TensorBoard é que ele inclui uma visualização de diferentes tipos de estatísticas sobre os parâmetros e detalhes de qualquer gráfico em alinhamento vertical.
string ti int
A rede neural profunda inclui até 36.000 nós. O TensorFlow ajuda a recolher esses nós em alta, a recolher esses nós em blocos de alto nível e a destacar as estruturas idênticas. Isso permite uma melhor análise do gráfico, concentrando-se nas seções primárias do gráfico de computação.
A visualização do TensorBoard é considerada muito interativa, onde um usuário pode deslocar, ampliar e expandir os nós para exibir os detalhes.
A seguir está a representação do diagrama fornecida que mostra o funcionamento completo da visualização do TensorBoard-
Os algoritmos colapsam os nós em blocos de alto nível e destacam os grupos específicos com estruturas idênticas, que separam os nós de alto nível. O TensorBoard criado é útil e tratado com igual importância para ajustar um modelo de aprendizado de máquina. Esta ferramenta de visualização foi projetada para o arquivo de log de configuração.
Olhe para a foto abaixo:
Uma rede neural decide como conectar os diferentes ' neurônios ' e quantas camadas antes que o modelo possa prever o resultado. Depois de definirmos a arquitetura, não precisamos apenas treinar o modelo, mas também métricas para calcular a precisão da previsão. Essa métrica é chamada de função de perda. O objetivo é como uma função de perda.
TensorBoard é uma ótima ferramenta para visualizar métricas e destacar possíveis problemas. A rede neural pode levar horas a semanas antes de encontrar uma solução. O TensorBoard atualiza os parâmetros com muita frequência.
O TensorBoard está localizado neste URL: http://localhost:6006
Tipos de DashBoard no TensorBoard
1. Painel escalar
É usado para visualizar estatísticas dependentes do tempo; por exemplo, podemos querer observar as variações na taxa de aprendizagem ou na função de perda.
2. Histograma
O painel de histograma no TensorBoard exibe como a distribuição estatística de um Tensor variou ao longo do tempo. Ele visualiza dados registrados via tf.summary.histograma .
modelo tcp e ip
3. Painel de distribuição
Mostra algum uso de alto nível de tf.summary.histograma . Mostra alguns inícios de alto nível em uma distribuição. Cada linha do gráfico dá uma dica sobre o percentil na distribuição dos dados.
4. Painel de imagens
Isso mostra o png que foi salvo por meio de um tf.resumo.imagem . As linhas correspondem aos rótulos e as colunas à execução. Ao usar este painel de imagens do TensorBoard, podemos incorporar visualizações personalizadas.
5. Painel de áudio
É uma excelente ferramenta para incorporar widgets de áudio reproduzíveis para áudios salvos através de um tf.resumo.áudio . O painel sempre incorpora o áudio mais recente para cada tag.
6. Explorador de Gráfico
É usado principalmente para permitir a inspeção do modelo TensorFlow.
7. Projetor
O projetor incorporado no TensorFlow usado para dados multidimensionais. O projetor de incorporação lê dados do arquivo de ponto de verificação e pode ser configurado com dados correspondentes, como um arquivo de vocabulário.
8. Painel de texto
Painel de texto mostra especialistas em texto salvos via tf.resumo.texto. , inclui recursos como hiperlinks, listas e tabelas, todos suportados.
Diferentes visões do TensorBoard
Visualizações diferentes recebem entradas de formatos diferentes e as exibem de maneira diferente. Podemos alterá-los na barra superior laranja.
Como usar o TensorBoard?
Aprenderemos como abrir o TensorBoard a partir do terminal para MacOS e Windows de linha de comando.
instrução if else java
O código será explicado em um tutorial futuro; o foco aqui está no TensorBoard.
Primeiro, precisamos importar as bibliotecas que utilizaremos durante o treinamento.
## Import the library import tensorflow as tf import numpy as np
Nós criamos os dados. É uma matriz de 10.000 linhas e colunas/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
O código abaixo transforma os dados e cria o modelo.
Observe que a taxa de aprendizagem é igual a 0,1. Se alterarmos esta taxa para um valor superior, o modelo não encontrará solução. Foi o que aconteceu no lado esquerdo da imagem acima.
No exemplo abaixo, armazenamos o modelo dentro do diretório de trabalho, ou seja, onde armazenamos o notebook ou arquivo python. Dentro do caminho, o TensorFlow cria uma pasta chamada train com uma pasta filha chamada linreg.
feature_columns = [ tf.feature_column.numeric_column('x', shape=X_train.shape[1:])] DNN_reg = tf.estimator.DNNRegressor(feature_columns=feature_columns, # Indicate where to store the log file model_dir='train', hidden_units=[500, 300], optimizer=tf.train.ProximalAdagradOptimizer( learning_rate=0.1, l1_regularization_strength=0.001 ) )
Saída:
INFO:tensorflow:Using the default configuration. INFO:tensorflow:Using config:{'_model_dir': 'train/linreg', '_tf_random_seed': None, '_save_summary_steps': 100, '_save_checkpoints_steps': None, '_save_checkpoints_secs': 600, '_session_config': None, '_keep_checkpoint_max': 5, '_keep_checkpoint_every_n_hours': 10000, '_log_step_count_steps': 100, '_train_distribute': None, '_service': None, '_cluster_spec': , '_task_type': 'worker', '_task_id': 0, '_global_id_in_cluster': 0, '_master': '', '_evaluation_master': '', '_is_chief': True, '_num_ps_replicas': 0, '_num_worker_replicas': 1}
A última etapa consiste em treinar o modelo. Durante o período de treinamento, o TensorFlow grava informações no diretório do modelo.
# Train the estimator train_input = tf.estimator.inputs.numpy_input_fn( x={'x': X_train}, y=y_train, shuffle=False,num_epochs=None) DNN_reg.train(train_input,steps=3000)
Saída:
INFO:tensorflow:Calling model_fn. INFO:tensorflow:Done calling model_fn. INFO:tensorflow:Create CheckpointSaverHook. INFO:tensorflow: Graph was finalized. INFO:tensorflow:Running local_init_op. INFO:tensorflow:Done running local_init_op. INFO:tensorflow:Saving checkpoints for 1 into train/linreg/model.ckpt. INFO:tensorflow:loss = 40.060104, step = 1 INFO:tensorflow:global_step/sec: 197.061 INFO:tensorflow:loss = 10.62989, step = 101 (0.508 sec) INFO:tensorflow:global_step/sec: 172.487 INFO:tensorflow:loss = 11.255318, step = 201 (0.584 sec) INFO:tensorflow:global_step/sec: 193.295 INFO:tensorflow:loss = 10.604872, step = 301 (0.513 sec) INFO:tensorflow:global_step/sec: 175.378 INFO:tensorflow:loss = 10.090343, step = 401 (0.572 sec) INFO:tensorflow:global_step/sec: 209.737 INFO:tensorflow:loss = 10.057928, step = 501 (0.476 sec) INFO:tensorflow:global_step/sec: 171.646 INFO:tensorflow:loss = 10.460144, step = 601 (0.583 sec) INFO:tensorflow:global_step/sec: 192.269 INFO:tensorflow:loss = 10.529617, step = 701 (0.519 sec) INFO:tensorflow:global_step/sec: 198.264 INFO:tensorflow:loss = 9.100082, step = 801 (0.504 sec) INFO:tensorflow:global_step/sec: 226.842 INFO:tensorflow:loss = 10.485607, step = 901 (0.441 sec) INFO:tensorflow:global_step/sec: 152.929 INFO:tensorflow:loss = 10.052481, step = 1001 (0.655 sec) INFO:tensorflow:global_step/sec: 166.745 INFO:tensorflow:loss = 11.320213, step = 1101 (0.600 sec) INFO:tensorflow:global_step/sec: 161.854 INFO:tensorflow:loss = 9.603306, step = 1201 (0.619 sec) INFO:tensorflow:global_step/sec: 179.074 INFO:tensorflow:loss = 11.110269, step = 1301 (0.556 sec) INFO:tensorflow:global_step/sec: 202.776 INFO:tensorflow:loss = 11.929443, step = 1401 (0.494 sec) INFO:tensorflow:global_step/sec: 144.161 INFO:tensorflow:loss = 11.951693, step = 1501 (0.694 sec) INFO:tensorflow:global_step/sec: 154.144 INFO:tensorflow:loss = 8.620987, step = 1601 (0.649 sec) INFO:tensorflow:global_step/sec: 151.094 INFO:tensorflow:loss = 10.666125, step = 1701 (0.663 sec) INFO:tensorflow:global_step/sec: 193.644 INFO:tensorflow:loss = 11.0349865, step = 1801 (0.516 sec) INFO:tensorflow:global_step/sec: 189.707 INFO:tensorflow:loss = 9.860596, step = 1901 (0.526 sec) INFO:tensorflow:global_step/sec: 176.423 INFO:tensorflow:loss = 10.695, step = 2001 (0.567 sec) INFO:tensorflow:global_step/sec: 213.066 INFO:tensorflow:loss = 10.426752, step = 2101 (0.471 sec) INFO:tensorflow:global_step/sec: 220.975 INFO:tensorflow:loss = 10.594796, step = 2201 (0.452 sec) INFO:tensorflow:global_step/sec: 219.289 INFO:tensorflow:loss = 10.4212265, step = 2301 (0.456 sec) INFO:tensorflow:global_step/sec: 215.123 INFO:tensorflow:loss = 9.668612, step = 2401 (0.465 sec) INFO:tensorflow:global_step/sec: 175.65 INFO:tensorflow:loss = 10.009649, step = 2501 (0.569 sec) INFO:tensorflow:global_step/sec: 206.962 INFO:tensorflow:loss = 10.477722, step = 2601 (0.483 sec) INFO:tensorflow:global_step/sec: 229.627 INFO:tensorflow:loss = 9.877638, step = 2701 (0.435 sec) INFO:tensorflow:global_step/sec: 195.792 INFO:tensorflow:loss = 10.274586, step = 2801 (0.512 sec) INFO:tensorflow:global_step/sec: 176.803 INFO:tensorflow:loss = 10.061047, step = 2901 (0.566 sec) INFO:tensorflow:Saving checkpoints for 3000 into train/linreg/model.ckpt. INFO:tensorflow: Loss for the final step: 10.73032.
Para usuário do Windows
cd C:UsersAdminAnaconda3 activate hello-tf
Para iniciar o TensorBoard, podemos usar este código
tensorboard --logdir=. rainlinreg