Yleiskuva TensorBoardista

TensorBoard on tensorflow-visualisointikehys koneoppimisalgoritmin virtauksen ymmärtämiseksi ja tarkistamiseksi.

Koneoppimallin arviointi voidaan tehdä monilla mittareilla, kuten häviö, tarkkuus, mallikaavio ja monet muut. Koneoppimisalgoritmin suorituskyky riippuu mallivalinnasta ja algoritmissa syötetyistä hyperparamereista. Kokeet suoritetaan muuttamalla näiden parametrien arvoja.

Syvän oppimisen mallit ovat kuin musta laatikko, ja sen sisällä tapahtuvaa prosessointia on vaikea löytää. On tärkeää saada käsitys mallin rakentamiseksi. Visualisoinnin avulla voit tietää, mitä parametreja muokata, kuinka paljon saadaksesi lisäystä mallin suorituskykyyn. Joten TensorBoard on tärkeä työkalu jokaisen aikakauden visualisoimiseksi mallin harjoitteluvaiheessa.

Asennus

Asenna tenorikortti pipin avulla suorittamalla seuraava komento:

pip install tensorboard

Vaihtoehtoisesti se voidaan asentaa Conda-komennolla,

Conda install tensorboard

Käyttö

Tensorboardin käyttäminen Keras-mallilla:

Keras on avoimen lähdekoodin kirjasto syvän oppimisen malleille. Se on korkeatasoinen kirjasto, jota voidaan käyttää tensorflowin, theanoon jne. Päällä.

Asenna tensorflow- ja Keras-kirjasto pip: llä:

pip install tensorflow pip install Keras

Otetaan yksinkertainen esimerkki luokittelusta MNIST-tietojoukon avulla. MNIST on englantilainen numeerinen tietojoukko, joka sisältää kuvia numeroista 0–9. Se on saatavana Keras-kirjastossa.

  • Tuo kirjasto tensorflow, koska käytämme Keraa tensorflow-taustajärjestelmän kanssa.

import tensorflow as tf

  • Lataa ensin MNIST-tietoaineisto Kerasista koulutus- ja testitietoaineistoon.

mnist = tf.keras.datasets.mnist

  • Järjestysmalli luodaan käyttämällä,

tf.keras.models.Sequential

  • Mallin kouluttamiseen käytetään Model.fit (): ta. Lokit voidaan luoda ja tallentaa käyttämällä,

tf.keras.callback.TensorBoard

  • Jotta histogrammin laskenta voidaan ottaa käyttöön,

histogram_freq=1.

Se on oletuksena pois päältä.

Edellä käsitellyn MNIST-tietojoukon luokituksen koodi on seuraava:

# 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))

Käynnistä tenorikortti paikallisella palvelimella siirtymällä hakemiston sijaintiin, johon tensorflow on asennettu, ja suorita seuraava komento:

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

  • skalaareja

Skaalaarit osoittavat muutoksen jokaisena ajanjaksona. Yllä oleva kuva esittää tarkkuuden ja häviön kuvaajan jokaisen ajanjakson jälkeen. Epoch_acc ja epoch_loss ovat harjoittelun tarkkuutta ja harjoittelun menetyksiä. Epoch_val_acc ja epoch_val_loss ovat validointitietojen tarkkuus ja menetys.

Vaaleammat oranssit viivat osoittavat tarkkaa tarkkuutta tai häviötä ja tummempi edustavat tasoitettuja arvoja. Tasoitus auttaa visualisoimaan datan yleistä trendiä.

  • Käyrät

Kaavio-sivu auttaa sinua visualisoimaan mallisi kaavion. Tämän avulla voit tarkistaa, onko malli rakennettu oikein vai ei.

Kaavion visualisoimiseksi meidän on luotava istunto ja sitten TensorFLow FileWriter -objekti. Kirjoittajaobjektin luomiseksi meidän on kuljettava polku, johon yhteenveto tallennetaan, ja argumentiksi sess.graph.

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

tf.placeholder () ja tf.Variable () käytetään paikkamerkkeihin ja muuttujiin tensorflow-koodissa.

Tämä näyttää rakennetun mallin graafisen visualisoinnin. Kaikki pyöristetyt suorakulmut ovat nimiavaruuksia. Ja soikeat osoittavat matemaattiset toimenpiteet.

Vakio esitetään pieninä ympyröinä. Vähentää kaavion sotkua tensorboard tekee joitain yksinkertaistuksia käyttämällä katkoviivoitettuja soikeita tai pyöristettyjä suorakulmioita, joissa on katkoviivat. Nämä ovat solmut, jotka on kytketty moniin muihin solmuihin tai kaikkiin solmuihin. Joten ne pidetään pisteviivoina kaaviossa ja niiden yksityiskohdat näkyvät oikeassa yläkulmassa. Oikeassa yläkulmassa on linkki kaltevuuksiin, kaltevuuslaskuihin tai init-solmuihin.

Jos haluat tietää kunkin solmun sisällä olevien ja ulos tulevien tenoreiden lukumäärän, näet kuvaajan reunat. Graafin reunat kuvaavat kuvaajassa virtaavien tenorien lukumäärää. Tämä auttaa tunnistamaan tulo- ja lähtöulotiedot kustakin solmusta. Tämä auttaa vianmäärityksessä kaikkia ongelmia.

  • Jakaumat ja histogrammit

Tämä osoittaa tenorijakauman ajan myötä, samoin näemme painot ja vääristymät. Tämä näyttää tulojen ja lähtöjen etenemisen ajan kuluessa jokaiselle aikakaudelle. Katseluvaihtoehtoja on kaksi:

Offset ja peittokuva.

Histogrammien offset-näkymä on seuraava:

Histogrammin peittokuva on:

Distribution-sivu näyttää tilastolliset jakaumat. Kaavio näyttää keskimääräisen ja keskihajonnan.

hyötyjä

  • TensorBoard auttaa visualisoimaan oppimista kirjoittamalla yhteenvetoja mallista, kuten skalaarit, histogrammit tai kuvat. Tämä puolestaan ​​auttaa parantamaan mallin tarkkuutta ja vianmääritystä helposti.
  • Syvän oppimisen käsittely on mustan laatikon asia, ja tensorboard auttaa ymmärtämään mustassa laatikossa tapahtuvaa prosessointia graafien ja histogrammien avulla.

Johtopäätös - TensorBoard

TensorBoards tarjoaa visualisoinnin koulutetulle syvän ansaitsemisen mallille ja auttaa sen ymmärtämisessä. Sitä voidaan käyttää yhdessä TensorFlow ja Keras kanssa. Se tarjoaa pääasiassa skalaarien, metrien käyttäytymisen visualisoinnin histogrammien ja mallikaavion avulla kokonaisuutena.

Suositellut artikkelit

Tämä on opas TensorBoardiin. Tässä keskustellaan Tensboardin asennuksesta ja käytöstä sitä käyttämällä Keras-mallia ja etuja. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Johdatus Tensorflowiin
  2. Kuinka asentaa TensorFlow
  3. Mikä on TensorFlow?
  4. TensorFlow-leikkikenttä
  5. Tensorflow-perusteet

Luokka: