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.
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-
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:
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
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.
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.
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