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:

TensorFlow-kaavion visualisointi
TensorFlow-kaavion visualisointi

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.

TensorBoard-kaaviot

TensorBoard-kaaviot
  • 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.

  1. Jonota tiedot malliin: Tyรถnnรค malliin erรคkokoa vastaava mรครคrรค dataa, eli tietosyรถtteiden lukumรครคrรค jokaisen iteraation jรคlkeen
  2. Syรถtรค tiedot tensoreihin
  3. Harjoittele mallia
  4. Nรคytรค erien lukumรครคrรค koulutuksen aikana. Tallenna malli levylle.

TensorFlow-kaavion visualisointi Tensorboard-esimerkin avulla

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:

TensorBoard-kaaviot
TensorBoard-kaavio

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

TensorBoard-opetusohjelma MacOS-kรคyttรคjรคlle

varten Windows lรคhettรคmรค

TensorBoard opetusohjelma Windows kรคyttรคjรค

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.

Kรคytรค TensorBoardia

Kopioi ja liitรค URL-osoite suosikkiselaimesi. Sinun pitรคisi nรคhdรค tรคmรค:

Huomaa, ettรค opimme lukemaan kaaviota opetusohjelmassa, joka on omistettu syvรค oppiminen.

Kรคytรค TensorBoardia

Jos nรคet jotain tรคllaista:

Kรคytรค TensorBoardia

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,

Kรคytรค TensorBoardia

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

Tiivistรค tรคmรค viesti seuraavasti: