logo

TensorBoard

TensorFlow je vizualizační nástroj, který se nazývá TensorBoard. Používá se pro analýzu grafu toku dat a používá se k pochopení modelů strojového učení. TensorBoard je rozhraní používané k vizualizaci grafu a mnoho nástrojů pro pochopení, ladění a optimalizaci modelu.

Důležitou vlastností TensorBoard je, že obsahuje pohled na různé typy statistik o parametrech a podrobnostech libovolného grafu ve vertikálním zarovnání.

pojmenování podle java konvencí

Hluboká neuronová síť zahrnuje až 36 000 uzly. TensorFlow pomáhá při sbalení těchto uzlů na vysoké úrovni při sbalení těchto uzlů do bloků vysoké úrovně a zvýraznění identických struktur. To umožňuje lepší analýzu grafu se zaměřením na primární části výpočtového grafu.

TensorBoard

Vizualizace TensorBoard je prý velmi interaktivní, kde uživatel může posouvat, přibližovat a rozšiřovat uzly a zobrazovat podrobnosti.

Níže je uvedeno schéma, které ukazuje kompletní fungování vizualizace TensorBoard -

TensorBoard

Algoritmy sbalí uzly do bloků vysoké úrovně a zvýrazní specifické skupiny s identickými strukturami, které oddělují uzly vysokého stupně. Vytvořený TensorBoard je užitečný a je považován za stejně důležitý pro ladění modelu strojového učení. Tento vizualizační nástroj je určen pro konfigurační soubor protokolu.

Podívejte se na obrázek níže:

TensorBoard

Neuronová síť rozhoduje o tom, jak propojit různé ' neurony a kolik vrstev před modelem může předpovědět výsledek. Jakmile definujeme architekturu, potřebujeme nejen trénovat model, ale také metriky pro výpočet přesnosti predikce. Tato metrika se nazývá ztrátová funkce. Cílem je jako ztrátová funkce.

TensorBoard je skvělý nástroj pro vizualizaci metrik a zdůraznění potenciálních problémů. Neuronové síti může trvat hodiny až týdny, než najdou řešení. TensorBoard aktualizuje parametry velmi často.

TensorBoard se nachází na této adrese URL: http://localhost:6006

Typy DashBoard v TensorBoard

TensorBoard

1. Skalární řídicí panel

Používá se k vizualizaci časově závislých statistik; například bychom se mohli chtít podívat na variace v rychlosti učení nebo ztrátovou funkci.

2. Histogram

Histogram Dashboard v TensorBoard zobrazuje, jak se statistické rozložení Tensoru měnilo v průběhu času. Zobrazuje data zaznamenaná přes tf.souhrnný.histogram .

mediální přenos

3. Distribuční panel

Ukazuje použití na vysoké úrovni tf.souhrnný.histogram . Ukazuje některé starty na vysoké úrovni na distribuci. Každý řádek v grafu poskytuje nápovědu o percentilu rozložení v datech.

4. Obrazový panel

Toto ukazuje png, který byl uložen prostřednictvím a tf.summary.image . Řádky odpovídají štítkům a sloupce běhu. Pomocí tohoto obrázkového řídicího panelu TensorBoard můžeme vložit vlastní vizualizace.

5. Audio Dashboard

Je to vynikající nástroj pro vkládání hratelných zvukových widgetů pro audia uložená prostřednictvím a tf.summary.audio . Dashboard vždy obsahuje nejnovější zvuk pro každý tag.

6. Průzkumník grafů

Primárně se používá pro umožnění kontroly modelu TensorFlow.

7. Projektor

Projektor pro vkládání do TensorFlow používaný pro vícerozměrná data. Vložený projektor čte data ze souboru kontrolních bodů a může být nastaven s odpovídajícími daty, jako je soubor slovníku.

8. Textový panel

Text Dashboard zobrazuje textové odborníky uložené prostřednictvím tf.summary.text. , zahrnuje funkce jako hypertextové odkazy, seznamy a tabulky, všechny jsou podporovány.

TensorBoard

Různé pohledy na TensorBoard

Různé pohledy přijímají vstupy různých formátů a zobrazují je různě. Můžeme je měnit na oranžové horní liště.

    Skaláry-Vizualizujte skalární hodnoty, jako je přesnost klasifikace.Graf-Vizualizujte výpočtový graf našeho modelu, jako je model neuronové sítě.Distribuce-Vizualizujte, jak se data mění v průběhu času, jako jsou váhy neuronové sítě.Histogramy -Lepší pohled na distribuci, který ukazuje distribuci, která ukazuje distribuce v 3-rozměrné perspektivě.Projektor-Lze jej použít k vizualizaci vkládání slov (to znamená, že vkládání slov jsou číselné reprezentace slov, které zachycují jejich sémantické vztahy)Obraz-Vizualizace obrazových datZvuk-Vizualizace zvukových datText-Vizualizace textových dat

Jak používat TensorBoard?

Naučíme se, jak otevřít TensorBoard z terminálu pro MacOS a Command-line Windows.

stringformat

Kód bude vysvětlen v budoucím tutoriálu; důraz je zde kladen na TensorBoard.

Nejprve musíme naimportovat knihovny, které budeme během školení používat.

 ## Import the library import tensorflow as tf import numpy as np 

Vytváříme data. Je to pole 10000 řádků a sloupců/p>

 X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape 

Níže uvedený kód transformuje data a vytvoří model.

Všimněte si, že rychlost učení se rovná 0,1. Pokud tuto míru změníme na vyšší hodnotu, model nenajde řešení. To se stalo na levé straně výše uvedeného obrázku.

V níže uvedeném příkladu uložíme model do pracovního adresáře, tedy tam, kde uložíme notebook nebo soubor python. Uvnitř cesty vytvoří TensorFlow složku s názvem train s názvem podřízené složky 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 ) ) 

Výstup:

 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} 

Posledním krokem je natrénování modelu. Během tréninkového období zapisuje TensorFlow informace do adresáře modelu.

 # 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) 

Výstup:

 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. 

Pro uživatele Windows

 cd C:UsersAdminAnaconda3 activate hello-tf 

Ke spuštění TensorBoard můžeme použít tento kód

 tensorboard --logdir=.	rainlinreg