TensorBoard-opetusohjelma: TensorFlow-kaavion visualisointi [esimerkki]
Mikรค on TensorBoard?
Tensorboard on kรคyttรถliittymรค, jota kรคytetรครคn visualisoimaan kaavio ja muut tyรถkalut mallin ymmรคrtรคmiseen, virheenkorjaukseen ja optimointiin. Se on tyรถkalu, joka tarjoaa mittauksia ja visualisointeja koneoppimisen tyรถnkulkuun. Se auttaa seuraamaan mittareita, kuten hรคviรถtรค ja tarkkuutta, mallin graafin visualisointia, projektin upottamista pienempiulotteisissa tiloissa jne.
TensorFlow-kaavion visualisointi Tensorboard-esimerkin avulla
Alla oleva kuva tulee TensorBoard-kaaviosta, jonka luot tรคssรค TensorBoard-opetusohjelmassa. Se on pรครคpaneeli:

Alla olevasta kuvasta nรคet TensorBoard-graafin visualisoinnin paneelin. Paneeli sisรคltรครค erilaisia โโvรคlilehtiรค, jotka on linkitetty mallin suorittamisen yhteydessรค lisรครคmiesi tietojen tasoon.
- skalaarit: Nรคytรค erilaisia โโhyรถdyllisiรค tietoja mallikoulutuksen aikana
- Kuvaajat: Nรคytรค malli
- histogrammi: Nรคytรค painot histogrammin kanssa
- Jakelu: Nรคytรค painon jakautuminen
- Projektori: Nรคytรค pรครคkomponenttianalyysi ja T-SNE-algoritmi. Mittasuhteiden vรคhentรคmiseen kรคytetty tekniikka
Tรคmรคn TensorBoard-opetusohjelman aikana harjoittelet yksinkertaista syvรคoppimismallia. Opit kuinka se toimii tulevassa opetusohjelmassa.
Jos katsot kaaviota, voit ymmรคrtรครค, kuinka malli toimii.
- Jonota tiedot malliin: Tyรถnnรค malliin erรคkokoa vastaava mรครคrรค dataa, eli tietosyรถtteiden lukumรครคrรค jokaisen iteraation jรคlkeen
- Syรถtรค tiedot tensoreihin
- Harjoittele mallia
- Nรคytรค erien lukumรครคrรค koulutuksen aikana. Tallenna malli levylle.
Tensorboardin perusideana on, ettรค hermoverkko voi olla jotain, joka tunnetaan nimellรค musta laatikko, ja tarvitsemme tyรถkalun tarkastaaksemme, mitรค tรคmรคn laatikon sisรคllรค on. Voit kuvitella tensorboardin taskulampuksi aloittaaksesi sukeltamisen hermoverkkoon.
Se auttaa ymmรคrtรคmรครคn operaatioiden vรคlisiรค riippuvuuksia, kuinka painot lasketaan, nรคyttรครค hรคviรถfunktion ja paljon muuta hyรถdyllistรค tietoa. Kun yhdistรคt kaikki nรคmรค tiedot, sinulla on loistava tyรถkalu virheenkorjaukseen ja mallin parantamiseen.
Alla olevasta kuvasta saat kรคsityksen siitรค, kuinka hyรถdyllinen TensorBoard-kaavio voi olla:

Neuraaliverkko pรครคttรครค, kuinka eri "neuronit" yhdistetรครคn ja kuinka monta kerrosta malli voi ennustaa lopputuloksen. Kun olet mรครคrittรคnyt arkkitehtuurin, sinun ei tarvitse vain kouluttaa mallia, vaan myรถs mittareita ennusteen tarkkuuden laskemiseksi. Tรคtรค mittaria kutsutaan a hรคviรถtoiminto. Tavoitteena on minimoida tappiofunktio. Toisin sanoen se tarkoittaa, ettรค malli tekee vรคhemmรคn virheitรค. Kaikki koneoppimisalgoritmit toistavat laskelmat monta kertaa, kunnes hรคviรถ saavuttaa tasaisemman viivan. Tรคmรคn hรคviรถfunktion minimoimiseksi sinun on mรครคritettรคvรค a oppimisaste. Se on nopeus, jonka haluat mallin oppivan. Jos asetat oppimisnopeuden liian korkeaksi, mallilla ei ole aikaa oppia mitรครคn. Nรคin on vasemmassa kuvassa. Viiva liikkuu ylรถs ja alas, mikรค tarkoittaa, ettรค malli ennustaa tuloksen puhtaalla arvauksella. Oikeanpuoleinen kuva osoittaa, ettรค hรคviรถ pienenee iteraatiossa, kunnes kรคyrรค litistyi, eli malli lรถysi ratkaisun.
TensorBoard on loistava tyรถkalu tรคllaisten mittareiden visualisointiin ja mahdollisten ongelmien tuomiseen esiin. Hermoverkko voi kestรครค tunteja tai viikkoja, ennen kuin ne lรถytรคvรคt ratkaisun. TensorBoard pรคivittรครค mittareita hyvin usein. Tรคssรค tapauksessa sinun ei tarvitse odottaa loppuun asti nรคhdรคksesi, harjoitteleeko malli oikein. Voit avata TensorBoardin tarkistaaksesi koulutuksen etenemisen ja tehdรค tarvittavat muutokset.
Kuinka kรคyttรครค TensorBoardia?
Tรคssรค opetusohjelmassa opit avaamaan TensorBoardin MacOS-pรครคtteestรค ja komentoriviltรค TensorBoard for MacOS Windows.
Koodi selitetรครคn tulevassa opetusohjelmassa, painopiste on tรคssรค TensorBoardissa.
Ensin sinun on tuotava koulutuksen aikana kรคyttรคmรคsi kirjastot
## Import the library import tensorflow as tf import numpy as np
Sinรค luot tiedot. Se on 10000 5 rivin ja XNUMX sarakkeen joukko
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
ulostulo
(10000, 5)
Alla olevat koodit muuttavat tiedot ja luovat mallin.
Huomaa, ettรค oppimisnopeus on 0.1. Jos muutat tรคmรคn koron suuremmaksi, malli ei lรถydรค ratkaisua. Nรคin tapahtui yllรค olevan kuvan vasemmalla puolella.
Suurimman osan ajan TensorFlow opetusohjelmat, kรคytรคt TensorFlow-estimaattoria. Tรคmรค on TensorFlow API, joka sisรคltรครค kaikki matemaattiset laskelmat.
Lokitiedostojen luomiseksi sinun on mรครคritettรคvรค polku. Tรคmรค tehdรครคn argumentilla model_dir.
Alla olevassa TensorBoard-esimerkissรค malli tallennetaan tyรถhakemistoon, eli siihen, johon tallennat muistikirjan tai python-tiedoston. Tรคmรคn polun sisรคllรค TensorFlow luo kansion nimeltรค juna, jonka alikansionimi on 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/linreg',
hidden_units=[500, 300],
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.1,
l1_regularization_strength=0.001
)
)
ulostulo
INFO:tensorflow:Using default config.
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': <tensorflow.python.training.server_lib.ClusterSpec object at 0x1818e63828>, '_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}
Tรคmรคn TensorFlow-visualisointikaavioesimerkin viimeinen vaihe koostuu mallin kouluttamisesta. Koulutuksen aikana TensorFlow kirjoittaa tietoja mallihakemistoon.
# 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)
ulostulo
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 final step: 10.73032. <tensorflow.python.estimator.canned.dnn.DNNRegressor at 0x1818e63630>
MacOS-kรคyttรคjรคlle
varten Windows lรคhettรคmรค
Nรคet nรคmรค tiedot osoitteessaPyTorch TensorBoard.
Nyt kun lokitapahtumat on kirjoitettu, voit avata Tensorboardin. Tensorboard Keras toimii portissa 6006 (Jupyter toimii portissa 8888). Voit kรคyttรครค terminaalia MacOs-kรคyttรคjille tai Anaconda-kehotetta Windows kรคyttรคjรคlle.
MacOS-kรคyttรคjรคlle
# Different for you cd /Users/Guru99/tuto_TF source activate hello-tf!
Muistikirja on tallennettu polkuun /Users/Guru99/tuto_TF
varten Windows Kรคyttรคjรคt
cd C:\Users\Admin\Anaconda3 activate hello-tf
Muistikirja on tallennettu polkuun C:\Users\Admin\Anaconda3
Tensorboardin kรคynnistรคmiseksi voit kรคyttรครค tรคtรค koodia
MacOS-kรคyttรคjรคlle
tensorboard --logdir=./train/linreg
varten Windows Kรคyttรคjรคt
tensorboard --logdir=.\train\linreg
Tensorboard sijaitsee tรคssรค URL-osoitteessa: http://localhost:6006
Se voisi sijaita myรถs seuraavassa paikassa.
Kopioi ja liitรค URL-osoite suosikkiselaimesi. Sinun pitรคisi nรคhdรค tรคmรค:
Huomaa, ettรค opimme lukemaan kaaviota opetusohjelmassa, joka on omistettu syvรค oppiminen.
Jos nรคet jotain tรคllaista:
Se tarkoittaa, ettรค Tensorboard ei lรถydรค lokitiedostoa. Varmista, ettรค osoitat cd:n oikeaan polkuun tai tarkista, onko lokitapahtuma luotu. Jos ei, suorita koodi uudelleen.
Jos haluat sulkea TensorBoardin Paina CTRL+C
Hattuvinkki: Tarkista anaconda-kehotteesta nykyinen tyรถhakemisto,
Lokitiedosto tulee luoda osoitteeseen C:\Users\Admin
Yhteenveto
TensorBoard on loistava tyรถkalu mallin visualisointiin. Lisรคksi harjoituksen aikana nรคytetรครคn monia mittareita, kuten menetys, tarkkuus tai painot.
Aktivoidaksesi Tensorboardin, sinun on asetettava tiedostosi polku:
cd /Users/Guru99/tuto_TF
Aktivoi Tensorflow-ympรคristรถ
activate hello-tf
Kรคynnistรค Tensorboard
tensorboard --logdir=.+ PATH







