TensorBoardi õpetus: TensorFlow graafiku visualiseerimine [näide]
Mis on TensorBoard?
Tensorboard on liides, mida kasutatakse graafiku ja muude tööriistade visualiseerimiseks mudeli mõistmiseks, silumiseks ja optimeerimiseks. See on tööriist, mis pakub masinõppe töövoo jaoks mõõtmisi ja visualiseerimisi. See aitab jälgida selliseid mõõdikuid nagu kadu ja täpsus, modelleerimisgraafiku visualiseerimine, projekti manustamine madalama mõõtmega ruumides jne.
TensorFlow graafiku visualiseerimine Tensorboardi näite abil
Allolev pilt pärineb TensorBoardi graafikust, mille loote selles TensorBoardi õpetuses. See on põhipaneel:

Alloleval pildil näete TensorBoardi graafiku visualiseerimise paneeli. Paneel sisaldab erinevaid vahekaarte, mis on lingitud mudeli käitamisel lisatava teabe tasemega.
- Skalaarid: Näita modellikoolituse ajal erinevat kasulikku teavet
- Graafikud: Näita mudelit
- Histogramm: kaalude kuvamine histogrammiga
- jaotus: kuvab raskuse jaotuse
- projektor: Kuva põhikomponentide analüüs ja T-SNE algoritm. Mõõtmete vähendamiseks kasutatav tehnika
Selle TensorBoardi õpetuse käigus treenite lihtsat süvaõppe mudelit. Kuidas see töötab, saate teada tulevases õpetuses.
Kui vaatate graafikut, saate aru, kuidas mudel töötab.
- Andmete järjekorda seadmine mudelisse: sisestage mudelisse partii suurusega võrdne andmehulk, st andmevoo arv pärast iga iteratsiooni
- Andmete edastamine tensoritele
- Treeni modelli
- Näidake koolituse ajal partiide arvu. Salvestage mudel kettale.
Tensorboardi põhiidee on see, et närvivõrk võib olla midagi tuntud kui must kast ja me vajame tööriista selle kasti sisu kontrollimiseks. Võite ette kujutada tensorboardi taskulambina, et alustada närvivõrku sukeldumist.
See aitab mõista tehtevahelisi sõltuvusi, kaalude arvutamist, kuvab kadufunktsiooni ja palju muud kasulikku teavet. Kui koondate kõik need andmed kokku, on teil suurepärane tööriist silumiseks ja mudeli täiustamiseks.
Et anda teile aimu, kui kasulik TensorBoardi graafik võib olla, vaadake allolevat pilti:

Närvivõrk otsustab, kuidas ühendada erinevad "neuronid" ja mitu kihti, enne kui mudel suudab tulemust ennustada. Kui olete arhitektuuri määratlenud, ei pea te mitte ainult mudelit koolitama, vaid ka ennustuse täpsuse arvutamiseks mõõdikuid. Seda mõõdikut nimetatakse a kaotusfunktsioon. Eesmärk on minimeerida kahjufunktsiooni. Teiste sõnadega tähendab see, et mudel teeb vähem vigu. Kõik masinõppe algoritmid kordavad arvutusi mitu korda, kuni kadu jõuab lamedama jooneni. Selle kadufunktsiooni minimeerimiseks peate määratlema a õppimiskiirus. See on kiirus, mida soovite, et mudel õpiks. Kui määrate õppimismäära liiga kõrgeks, pole mudelil aega midagi õppida. Vasakpoolsel pildil on see nii. Joon liigub üles ja alla, mis tähendab, et mudel ennustab tulemust puhta oletusega. Parempoolsel pildil on näha, et kaotus väheneb iteratsiooni käigus, kuni kõver tasaneb, mis tähendab, et mudel leidis lahenduse.
TensorBoard on suurepärane tööriist selliste mõõdikute visualiseerimiseks ja võimalike probleemide esiletoomiseks. Närvivõrgul võib kuluda tunde kuni nädalaid, enne kui nad lahenduse leiavad. TensorBoard värskendab mõõdikuid väga sageli. Sel juhul ei pea te lõpuni ootama, et näha, kas mudel treenib õigesti. TensorBoardi saate avada, et kontrollida, kuidas koolitus läheb ja vajadusel teha vastavad muudatused.
Kuidas TensorBoardi kasutada?
Sellest õpetusest saate teada, kuidas avada TensorBoard MacOS-i terminalist ja käsurealt TensorBoard Windows.
Koodi selgitatakse tulevases õpetuses, siin keskendutakse TensorBoardile.
Esiteks peate importima teegid, mida koolituse ajal kasutate
## Import the library import tensorflow as tf import numpy as np
Loote andmed. See on 10000 5 reast ja XNUMX veerust koosnev massiiv
X_train = (np.random.sample((10000,5))) y_train = (np.random.sample((10000,1))) X_train.shape
Väljund
(10000, 5)
Allolevad koodid muudavad andmed ja loovad mudeli.
Pange tähele, et õppimise määr on 0.1. Kui muudate selle määra suuremaks, ei leia mudel lahendust. See juhtus ülaltoodud pildi vasakus servas.
Enamiku ajal TensorFlow õpetused, kasutate TensorFlow hindajat. See on TensorFlow API, mis sisaldab kõiki matemaatilisi arvutusi.
Logifailide loomiseks peate määrama tee. Seda tehakse argumendiga model_dir.
Allolevas TensorBoardi näites salvestate mudeli töökataloogi, st kuhu salvestate märkmiku või pythoni faili. Selle tee sees loob TensorFlow kausta nimega rong alamkausta nimega 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
)
)
Väljund
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}
Selle TensorFlow visualiseerimisgraafiku näite viimane samm seisneb mudeli treenimises. Koolituse käigus kirjutab TensorFlow info mudelikataloogi.
# 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)
Väljund
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-i kasutajale
eest Windows kasutaja
Seda teavet näete jaotisesPyTorch TensorBoard.
Nüüd, kui logisündmused on kirjutatud, saate Tensorboardi avada. Tensorboard Keras töötab pordis 6006 (Jupyter töötab pordis 8888). Võite kasutada terminali MacOs kasutajatele või Anaconda viipa Windows kasutaja.
MacOS-i kasutajale
# Different for you cd /Users/Guru99/tuto_TF source activate hello-tf!
Märkmik on salvestatud teele /Users/Guru99/tuto_TF
eest Windows Kasutajad
cd C:\Users\Admin\Anaconda3 activate hello-tf
Märkmik salvestatakse teele C:\Users\Admin\Anaconda3
Tensorboardi käivitamiseks saate seda koodi kasutada
MacOS-i kasutajale
tensorboard --logdir=./train/linreg
eest Windows Kasutajad
tensorboard --logdir=.\train\linreg
Tensorboard asub selles URL-is: http://localhost:6006
See võib asuda ka järgmises kohas.
Kopeerige ja kleepige URL oma lemmikbrauserisse. Peaksite nägema seda:
Pange tähele, et me õpime graafikut lugema õpetusest, mis on pühendatud sügav õpe.
Kui näete midagi sellist:
See tähendab, et Tensorboard ei leia logifaili. Veenduge, et suunate CD õigele teele või kontrollige veel kord, kas logisündmus on loodud. Kui ei, siis käivitage kood uuesti.
Kui soovite TensorBoardi sulgeda, vajutage klahvikombinatsiooni CTRL+C
Mütsi näpunäide: kontrollige oma anaconda viipa praeguse töökataloogi jaoks,
Logifail tuleks luua aadressil C:\Users\Admin
kokkuvõte
TensorBoard on suurepärane tööriist oma mudeli visualiseerimiseks. Pealegi kuvatakse treeningu ajal palju mõõdikuid, nagu kaotus, täpsus või kaalud.
Tensorboardi aktiveerimiseks peate määrama oma faili tee:
cd /Users/Guru99/tuto_TF
Aktiveerige Tensorflow keskkond
activate hello-tf
Käivitage Tensorboard
tensorboard --logdir=.+ PATH







