logo

TensorBoard

TensorFlow je alat za vizualizaciju koji se naziva TensorBoard. Koristi se za analizu grafa toka podataka i za razumijevanje modela strojnog učenja. TensorBoard je sučelje koje se koristi za vizualizaciju grafa i mnoge alate za razumijevanje, otklanjanje pogrešaka i optimizaciju modela.

Važna značajka TensorBoarda je da uključuje prikaz različitih vrsta statistike o parametrima i detaljima bilo kojeg grafikona u okomitom poravnanju.

java ima sljedeće

Duboka neuronska mreža uključuje do 36.000 čvorovi. TensorFlow pomaže u sažimanju ovih čvorova na visokoj razini u sažimanju ovih čvorova u blokovima visoke razine i isticanju identičnih struktura. To omogućuje bolju analizu grafa, fokusirajući se na primarne dijelove grafa izračuna.

TensorBoard

Rečeno je da je vizualizacija TensorBoard vrlo interaktivna gdje korisnik može pomicati, zumirati i proširiti čvorove za prikaz detalja.

Sljedeći dijagram prikazuje kompletan rad TensorBoard vizualizacije-

TensorBoard

Algoritmi sažimaju čvorove u blokove visoke razine i ističu specifične grupe s identičnim strukturama, koje odvajaju čvorove visokog stupnja. Stvoreni TensorBoard je koristan i smatra se jednako važnim za podešavanje modela strojnog učenja. Ovaj alat za vizualizaciju dizajniran je za datoteku dnevnika konfiguracije.

Pogledajte sliku ispod:

TensorBoard

Neuronska mreža odlučuje kako povezati različite ' neuroni ' i koliko slojeva prije nego model može predvidjeti ishod. Nakon što definiramo arhitekturu, ne samo da trebamo obučiti model, već i metriku za izračunavanje točnosti predviđanja. Ova metrika se naziva funkcija gubitka. Cilj je kao funkcija gubitka.

TensorBoard je izvrstan alat za vizualizaciju metrike i isticanje potencijalnih problema. Neuronskoj mreži mogu proći sati do tjedana prije nego što pronađu rješenje. TensorBoard vrlo često ažurira parametre.

TensorBoard se nalazi na ovom URL-u: http://localhost:6006

Vrste DashBoarda u TensorBoardu

TensorBoard

1. Skalarna nadzorna ploča

Koristi se za vizualizaciju vremenski ovisnih statistika; na primjer, mogli bismo pogledati varijacije u stopi učenja ili funkciji gubitka.

2. Histogram

Nadzorna ploča histograma u TensorBoardu prikazuje kako je statistička distribucija Tensora varirala tijekom vremena. Vizualizira podatke snimljene putem tf.sažetak.histogram .

upotrebe operativnog sustava

3. Nadzorna ploča distribucije

To pokazuje upotrebu na visokoj razini tf.sažetak.histogram . Prikazuje nekoliko početaka distribucije na visokoj razini. Svaki redak na grafikonu daje naznaku o percentilu u distribuciji podataka.

4. Nadzorna ploča sa slikom

Ovo prikazuje png koji je spremljen putem a tf.sažetak.slika . Redovi odgovaraju oznakama, a stupci ciklusu. Korištenjem ove nadzorne ploče sa slikama TensorBoarda možemo ugraditi prilagođene vizualizacije.

5. Audio nadzorna ploča

To je izvrstan alat za ugradnju audio widgeta koji se mogu reproducirati za audio zapise spremljene putem a tf.sažetak.audio . Nadzorna ploča uvijek ugrađuje najnoviji zvuk za svaku oznaku.

6. Graph Explorer

Prvenstveno se koristi za omogućavanje pregleda TensorFlow modela.

7. Projektor

Projektor za ugradnju u TensorFlow koji se koristi za višedimenzionalne podatke. Projektor za ugradnju čita podatke iz datoteke kontrolnih točaka i može se postaviti s odgovarajućim podacima, kao što je datoteka rječnika.

8. Nadzorna ploča teksta

Kontrolna ploča za tekst prikazuje tekstualne stručnjake spremljene putem tf.sažetak.tekst. , uključuje značajke poput hiperveza, popisa i tablica, sve su podržane.

TensorBoard

Različiti pogledi na TensorBoard

Različiti pogledi uzimaju unose različitih formata i prikazuju ih drugačije. Možemo ih promijeniti na narančastoj gornjoj traci.

    skalari-Vizualizirajte skalarne vrijednosti, kao što je točnost klasifikacije.Grafikon-Vizualizirajte računalni grafikon našeg modela, poput modela neuronske mreže.Distribucije-Vizualizirajte kako se podaci mijenjaju tijekom vremena, kao što su težine neuronske mreže.Histogrami-Dotjeraniji prikaz distribucije koji prikazuje distribuciju koja prikazuje distribucije u trodimenzionalnoj perspektivi.Projektor-Može se koristiti za vizualizaciju umetanja riječi (odnosno, ugrađivanje riječi su numerički prikazi riječi koji hvataju njihove semantičke odnose)Slika-Vizualizacija slikovnih podatakaaudio-Vizualizacija audio podatakaTekst-Vizualizacija tekstualnih podataka

Kako koristiti TensorBoard?

Naučit ćemo kako otvoriti TensorBoard s terminala za MacOS i Windows s naredbenim redkom.

Kod će biti objašnjen u budućem vodiču; ovdje je fokus na TensorBoardu.

Prvo moramo uvesti biblioteke koje ćemo koristiti tijekom obuke.

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

Mi stvaramo podatke. To je niz od 10000 redaka i stupaca/p>

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

Donji kod transformira podatke i stvara model.

Imajte na umu da je stopa učenja jednaka 0,1. Ako ovu stopu promijenimo na višu vrijednost, model neće pronaći rješenje. Ovo se dogodilo na lijevoj strani gornje slike.

U donjem primjeru pohranjujemo model unutar radnog direktorija, tj. gdje pohranjujemo bilježnicu ili python datoteku. Unutar staze, TensorFlow stvara mapu pod nazivom train s imenom podređene mape 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 ) ) 

Izlaz:

 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} 

Posljednji korak sastoji se od obuke modela. Tijekom razdoblja obuke, TensorFlow upisuje informacije u direktorij modela.

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

Izlaz:

 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. 

Za Windows korisnike

 cd C:UsersAdminAnaconda3 activate hello-tf 

Za pokretanje TensorBoarda možemo koristiti ovaj kod

niz.iz jave
 tensorboard --logdir=.	rainlinreg