TensorFlow este un instrument de vizualizare, care se numește TensorBoard. Este folosit pentru analiza graficului fluxului de date și pentru înțelegerea modelelor de învățare automată. TensorBoard este interfața folosită pentru a vizualiza graficul și multe instrumente pentru a înțelege, depana și optimiza modelul.
Caracteristica importantă a TensorBoard este că include o vizualizare a diferitelor tipuri de statistici despre parametrii și detaliile oricărui grafic dintr-un aliniament vertical.
egalitatea obiectelor în java
Rețeaua neuronală profundă include până la 36.000 noduri. TensorFlow ajută la prăbușirea acestor noduri în mare măsură, la prăbușirea acestor noduri în blocuri de nivel înalt și la evidențierea structurilor identice. Acest lucru permite o analiză mai bună a graficului, concentrându-se pe secțiunile primare ale graficului de calcul.
Se spune că vizualizarea TensorBoard este foarte interactivă, unde un utilizator poate deplasa, mări și extinde nodurile pentru a afișa detaliile.
Următoarele sunt reprezentarea diagramă dată care arată funcționarea completă a vizualizării TensorBoard-
Algoritmii prăbușesc nodurile în blocuri de nivel înalt și au evidențiat grupurile specifice cu structuri identice, care separă nodurile de grad înalt. TensorBoard creat este util și este tratat la fel de important pentru reglarea unui model de învățare automată. Acest instrument de vizualizare este conceput pentru fișierul jurnal de configurare.
Uită-te la poza de mai jos:
O rețea neuronală decide cum să conecteze diferitele „ neuronii ' și câte straturi înainte ca modelul poate prezice rezultatul. Odată ce am definit arhitectura, nu trebuie doar să antrenăm modelul, ci și metricile pentru a calcula acuratețea predicției. Această măsurătoare este denumită o funcție de pierdere. Obiectivul este ca o funcție de pierdere.
TensorBoard este un instrument excelent pentru a vizualiza valorile și a evidențiat problemele potențiale. Rețeaua neuronală poate dura ore până la săptămâni până să găsească o soluție. TensorBoard actualizează parametrii foarte des.
TensorBoard se află în această adresă URL: http://localhost:6006
Tipuri de Dashboard în TensorBoard
1. Tabloul de bord scalar
Este folosit pentru a vizualiza statistici dependente de timp; de exemplu, am putea dori să ne uităm la variațiile ratei de învățare sau a funcției de pierdere.
2. Histograma
Histogram Dashboard din TensorBoard afișează modul în care distribuția statistică a unui Tensor a variat în timp. Vizualizează datele înregistrate prin tf.rezumat.histogramă .
tojson java
3. Tabloul de bord de distribuție
Arată o utilizare la nivel înalt a tf.rezumat.histogramă . Arată câteva porniri de nivel înalt pentru o distribuție. Fiecare linie de pe diagramă oferă un indiciu despre percentila în distribuția datelor.
4. Tabloul de bord imagine
Aceasta arată png-ul care a fost salvat prin a tf.rezumat.imagine . Rândurile corespund etichetelor, iar coloanele rulării. Folosind acest tablou de bord imagine al TensorBoard, putem încorpora vizualizări personalizate.
5. Tabloul de bord audio
Este un instrument excelent pentru încorporarea widget-urilor audio redabile pentru sunetele salvate prin a tf.rezumat.audio . Tabloul de bord încorporează întotdeauna cel mai recent sunet pentru fiecare etichetă.
6. Explorator grafic
Este folosit în principal pentru a permite inspecția modelului TensorFlow.
7. Proiector
Proiectorul de încorporare în TensorFlow utilizat pentru date multidimensionale. Proiectorul de încorporare citește date din fișierul punct de control și poate fi configurat cu datele corespunzătoare, cum ar fi un fișier de vocabular.
8. Tabloul de bord text
Tabloul de bord text arată experți în text salvati prin tf.rezumat.text. , include funcții precum hyperlinkuri, liste și tabele, toate sunt acceptate.
Diferite vederi ale TensorBoard
Vizualizări diferite preiau intrări de diferite formate și le afișează diferit. Le putem schimba pe bara de sus portocalie.
Cum se utilizează TensorBoard?
Vom învăța cum să deschidem TensorBoard din terminal pentru MacOS și Windows Command-line.
Codul va fi explicat într-un tutorial viitor; accentul aici este pe TensorBoard.
În primul rând, trebuie să importăm bibliotecile pe care le vom folosi în timpul instruirii.
## Import the library import tensorflow as tf import numpy as np
Noi creăm datele. Este o matrice de 10000 de rânduri și coloane/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Codul de mai jos transformă datele și creează modelul.
Rețineți că rata de învățare este egală cu 0,1. Dacă schimbăm această rată la o valoare mai mare, modelul nu va găsi o soluție. Acesta este ceea ce s-a întâmplat în partea stângă a imaginii de mai sus.
În exemplul de mai jos, stocăm modelul în directorul de lucru, adică unde stocăm blocnotesul sau fișierul python. În interiorul căii, TensorFlow creează un folder numit train cu un nume de folder copil 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 ) )
Ieșire:
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}
Ultimul pas constă în antrenamentul modelului. În timpul perioadei de antrenament, TensorFlow scrie informații în directorul modelului.
# 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)
Ieșire:
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.
Pentru utilizatorul Windows
buclă infinită
cd C:UsersAdminAnaconda3 activate hello-tf
Pentru a lansa TensorBoard, putem folosi acest cod
tensorboard --logdir=. rainlinreg