TensorFlow je orodje za vizualizacijo, ki se imenuje TensorBoard. Uporablja se za analizo grafa pretoka podatkov in za razumevanje modelov strojnega učenja. TensorBoard je vmesnik, ki se uporablja za vizualizacijo grafa in številna orodja za razumevanje, odpravljanje napak in optimizacijo modela.
Pomembna lastnost TensorBoarda je, da vključuje pogled različnih vrst statističnih podatkov o parametrih in podrobnostih katerega koli grafa v navpični poravnavi.
razširitvena datoteka java
Globoka nevronska mreža vključuje do 36.000 vozlišča. TensorFlow pomaga pri strnjevanju teh vozlišč v visoki ravni pri strnjevanju teh vozlišč v blokih na visoki ravni in poudarjanju enakih struktur. To omogoča boljšo analizo grafa s poudarkom na primarnih odsekih grafa izračuna.
Vizualizacija TensorBoard naj bi bila zelo interaktivna, kjer lahko uporabnik premika, poveča in razširi vozlišča, da prikaže podrobnosti.
Sledi podana predstavitev diagrama, ki prikazuje celotno delovanje vizualizacije TensorBoard-
Algoritmi strnejo vozlišča v bloke visoke ravni in poudarijo specifične skupine z enakimi strukturami, ki ločujejo vozlišča visoke stopnje. Ustvarjena plošča TensorBoard je uporabna in se obravnava kot enako pomembna za prilagajanje modela strojnega učenja. To orodje za vizualizacijo je zasnovano za konfiguracijsko dnevniško datoteko.
Poglejte spodnjo sliko:
Nevronska mreža se odloči, kako povezati različne nevroni ' in koliko plasti, preden lahko model napove rezultat. Ko definiramo arhitekturo, ne potrebujemo le usposabljanja modela, ampak tudi metrike za izračun točnosti napovedi. Ta metrika se imenuje funkcija izgube. Cilj je kot funkcija izgube.
TensorBoard je odlično orodje za vizualizacijo meritev in poudarjanje možnih težav. Nevronska mreža lahko traja ure ali tedne, preden najde rešitev. TensorBoard zelo pogosto posodablja parametre.
TensorBoard se nahaja na tem URL-ju: http://localhost:6006
Vrste DashBoard v TensorBoard
1. Skalarska nadzorna plošča
Uporablja se za vizualizacijo časovno odvisne statistike; na primer, morda želimo pogledati variacije v stopnji učenja ali funkciji izgube.
2. Histogram
Nadzorna plošča histograma v TensorBoardu prikazuje, kako se je statistična porazdelitev Tensorja spreminjala skozi čas. Vizualizira podatke, posnete prek tf.summary.histogram .
kaj je s v pythonu
3. Nadzorna plošča distribucije
Prikazuje uporabo na visoki ravni tf.summary.histogram . Prikazuje nekaj začetkov distribucije na visoki ravni. Vsaka vrstica na grafikonu daje namig o percentilu v porazdelitvi podatkov.
4. Nadzorna plošča s slikami
To prikazuje png, ki je bil shranjen prek a tf.summary.image . Vrstice ustrezajo oznakam, stolpci pa teku. Z uporabo te slikovne nadzorne plošče TensorBoarda lahko vdelamo vizualizacije po meri.
5. Zvočna nadzorna plošča
Je odlično orodje za vdelavo zvočnih pripomočkov, ki jih je mogoče predvajati, za zvoke, shranjene prek a tf.summary.audio . Nadzorna plošča vedno vdela najnovejši zvok za vsako oznako.
6. Raziskovalec grafov
Uporablja se predvsem za omogočanje pregleda modela TensorFlow.
7. Projektor
Projektor za vdelavo v TensorFlow, ki se uporablja za večdimenzionalne podatke. Vdelani projektor bere podatke iz datoteke kontrolne točke in je lahko nastavljen z ustreznimi podatki, kot je datoteka besedišča.
8. Besedilna nadzorna plošča
Besedilna nadzorna plošča prikazuje besedilne strokovnjake, shranjene prek tf.summary.text. , vključuje funkcije, kot so hiperpovezave, seznami in tabele, vse so podprte.
Različni pogledi na TensorBoard
Različni pogledi sprejemajo vnose različnih formatov in jih prikazujejo drugače. Spreminjamo jih lahko na oranžni zgornji vrstici.
Kako uporabljati TensorBoard?
Naučili se bomo, kako odpreti TensorBoard s terminala za MacOS in ukazno vrstico Windows.
Koda bo razložena v prihodnji vadnici; tukaj je poudarek na TensorBoardu.
Najprej moramo uvoziti knjižnice, ki jih bomo uporabljali med usposabljanjem.
## Import the library import tensorflow as tf import numpy as np
Mi ustvarjamo podatke. Je niz 10000 vrstic in stolpcev/p>
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Spodnja koda pretvori podatke in ustvari model.
Upoštevajte, da je stopnja učenja enaka 0,1. Če to stopnjo spremenimo na višjo vrednost, model ne bo našel rešitve. To se je zgodilo na levi strani zgornje slike.
V spodnjem primeru shranimo model znotraj delovnega imenika, tj. kamor shranimo beležnico ali datoteko python. Znotraj poti TensorFlow ustvari mapo z imenom train z imenom podrejene 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 ) )
Izhod:
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}
Zadnji korak je usposabljanje modela. Med obdobjem usposabljanja TensorFlow zapisuje informacije v imenik modelov.
# 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)
Izhod:
hashset vs hashmap
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 uporabnike sistema Windows
cd C:UsersAdminAnaconda3 activate hello-tf
Za zagon TensorBoarda lahko uporabimo to kodo
tensorboard --logdir=. rainlinreg