TensorBoardi ülevaade

TensorBoard on tensorflow visualiseerimisraamistik masinõppe algoritmi voo mõistmiseks ja kontrollimiseks.

Masinõppe mudeli hindamist saab teha paljude mõõdikute abil, näiteks kadu, täpsus, mudeli graafik ja palju muud. Masinõppe algoritmi jõudlus sõltub mudeli valimisest ja selle algoritmi sisestatud hüperparameetritest. Katseid tehakse nende parameetrite väärtuste muutmisega.

Süvaõppe mudelid on just nagu must kast, selle sees toimuvat töötlemist on keeruline leida. Mudeli koostamiseks on oluline saada ülevaade. Visualiseerimise abil saate teada, milliseid parameetreid millise summa võrra muuta, et mudeli jõudlust täiustada. Nii et TensorBoard on oluline tööriist iga ajajärgu visualiseerimiseks mudeli koolitusfaasis.

Paigaldamine

Tensolaua installimiseks pipi abil käivitage järgmine käsk:

pip install tensorboard

Teise võimalusena saab selle installida käsuga conda,

Conda install tensorboard

Kasutamine

Tensolaua kasutamine koos Kerase mudeliga:

Keras on avatud lähtekoodiga raamatukogu sügavate õpimudelite jaoks. See on kõrgetasemeline raamatukogu, mida saab juhtida tensorflow, theano jne peal.

Tensorflow ja Kerase teegi installimine pipi abil:

pip install tensorflow pip install Keras

Võtame lihtsa näite klassifitseerimise kohta, kasutades MNIST-i andmekogumit. MNIST on ingliskeelne numbriline andmekogum, mis sisaldab pilte numbritest 0–9. See on saadaval Kerase raamatukogus.

  • Impordi raamatukogu tensorflow, kuna me kasutame Keras tensorflow taustaprogrammiga.

import tensorflow as tf

  • Kõigepealt laadige MNIST-i andmestik Kerast treening- ja testimisse.

mnist = tf.keras.datasets.mnist

  • Järjestikune mudel luuakse, kasutades

tf.keras.models.Sequential

  • Mudeli koolitamiseks kasutatakse Model.fit (). Logisid saab luua ja säilitada kasutades,

tf.keras.callback.TensorBoard

  • Histogrammi arvutamise lubamiseks

histogram_freq=1.

Vaikimisi on see välja lülitatud.

Eespool käsitletud MNIST-andmestiku klassifikatsiooni kood on järgmine:

# Simple NN to classify handwritten digits from MNIST dataset
import tensorflow as tf
import datetime
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0
def create_model(): return tf.keras.models.Sequential(( tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(512, activation='relu'), tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
))
model = create_model() model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=('accuracy'))
log_dir="logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=log_dir, histogram_freq=1)
model.fit(x=x_train, y=y_train, epochs=5, validation_data=(x_test, y_test),
callbacks=(tensorboard_callback))

Tennsorboardi käivitamiseks kohalikus serveris minge kataloogi asukohta, kuhu tensorflow on installitud, ja käivitage järgmine käsk:

tensorboard --logdir=/path/to/logs/files

  • Skalaarid

Skalaarid näitavad muutusi igal ajajärgul. Ülaltoodud joonis näitab täpsuse ja kadude graafikut iga ajastu järel. Epoch_acc ja epoch_loss on treeningu täpsus ja treeningukaotus. Epoch_val_acc ja epoch_val_loss on valideerimisandmete täpsus ja kadu.

Heledamad oranžid jooned näitavad täpsust või kadu ja tumedam tähistab silutud väärtusi. Sileerimine aitab andmete üldist suundumust visualiseerida.

  • Graafikud

Diagrammi leht aitab teil oma mudeli graafikut visualiseerida. See aitab teil kontrollida, kas mudel on õigesti ehitatud või mitte.

Graafiku visualiseerimiseks peame looma seansi ja seejärel objekti TensorFLow FileWriter. Kirjutusobjekti loomiseks peame läbima tee, kus kokkuvõte on salvestatud, ja argumendina sess.graph.

writer = tf.summary.FileWriter(STORE_PATH, sess.graph)

tf.placeholder () ja tf.Variable () kasutatakse tensorflow-koodi kohahoidjate ja muutujate jaoks.

See näitab meie loodud mudeli graafilist visuaali. Kõik ümardatud ristkülikud on nimeruumid. Ja ovaalid näitavad matemaatilisi operatsioone.

Konstandid on näidatud väikeste ringidena. Graafiku segaduse vähendamiseks teeb tensorboard mõnda lihtsustust, kasutades punktiirjoonelisi ovaalseid või punktiirjoontega ümardatud ristkülikuid. Need on sõlmed, mis on ühendatud paljude teiste sõlmedega või kõigi sõlmedega. Neid hoitakse graafikul punktiiridena ja nende üksikasju saab näha paremas ülanurgas. Parempoolses ülanurgas on link ahelatele, gradient laskumistele või initsõlmedele.

Iga sõlme sisse minevate ja sealt väljuvate tenorite arvu teadasaamiseks näete graafikul servi. Graafiku servad kirjeldavad graafikus voolavate tenzorite arvu. See aitab tuvastada iga sõlme sisend- ja väljundmõõtmeid. See aitab siluda mis tahes probleemi.

  • Jaotused ja histogrammid

See näitab tensojaotust ajaga, samuti näeme kaalu ja nihkeid. See näitab sisendite ja väljundite arengut aja jooksul igal ajajärgul. Vaatamisvõimalusi on kaks:

Nihe ja ülekate.

Histogrammide nihkevaade on järgmine:

Histogrammi ülekatte vaade on:

Lehel Distribution kuvatakse statistilised jaotused. Graafik näitab keskmisi ja standardhälbeid.

Kasu

  • TensorBoard aitab õppimist visualiseerida, kirjutades mudeli kokkuvõtteid, näiteks skalaare, histogramme või pilte. See omakorda aitab parandada mudeli täpsust ja hõlpsalt siluda.
  • Sügav õppimistöötlus on musta kasti asi ja tensorboard aitab graafikute ja histogrammide abil mõista mustas kastis toimuvat töötlemist.

Järeldus - TensorBoard

TensorBoards pakub väljaõppitud sügavalt teenimismudelite visualiseerimist ja aitab neid mõista. Seda saab kasutada nii TensorFlow kui ka Kerasega. Peamiselt pakub see skaalade, mõõdikute käitumise visualiseerimist histogrammide ja mudeli graafiku abil tervikuna.

Soovitatavad artiklid

See on TensorBoardi juhend. Siin käsitleme Tensboardi paigaldamist ja kasutamist, kasutades seda koos Kerase mudeliga koos eelistega. Võite lisateabe saamiseks vaadata ka järgmisi artikleid -

  1. Tensorflow sissejuhatus
  2. Kuidas installida TensorFlow
  3. Mis on TensorFlow?
  4. TensorFlow mänguväljak
  5. Tensorflow põhitõed

Kategooria: