A TensorBoard áttekintése
A TensorBoard egy tensorflow vizualizációs keretrendszer a gépi tanulási algoritmus áramlásának megértéséhez és ellenőrzéséhez.
A gépi tanulási modell értékelése számos mérőszámmal elvégezhető, például veszteség, pontosság, modelldiagram és még sok más. A gépi tanulási algoritmus teljesítménye a modellválasztástól és az algoritmusba bevitt hiperparaméterektől függ. A kísérleteket ezen paraméterek értékeinek megváltoztatásával hajtják végre.
A mély tanulási modellek olyanok, mint egy fekete doboz, nehéz megtalálni a benne zajló feldolgozást. Fontos betekintést kapni a modell felépítéséhez. A megjelenítés segítségével megtudhatja, mely paramétereket kell módosítani, hogy milyen összeggel javítsák a modell teljesítményét. A TensorBoard tehát fontos eszköz az egyes korszakok megjelenítéséhez a modell edzési szakaszában.
Telepítés
A tenzortábla pip használatával történő telepítéséhez futtassa a következő parancsot:
pip install tensorboard
Alternatív megoldásként a conda paranccsal telepíthető,
Conda install tensorboard
Használat
Tenzortábla használata Keras modellel:
A Keras nyílt forráskódú könyvtár a mély tanulási modellekhez. Ez egy magas szintű könyvtár, amely tensorflow, theano stb. Tetején futtatható.
A tensorflow és a Keras könyvtár telepítése pip segítségével:
pip install tensorflow pip install Keras
Vegyünk egy egyszerű példát az MNIST adatkészlettel történő osztályozásra. A MNIST egy angol numerikus adatkészlet, amely 0-9-es számok képeit tartalmazza. A Keras könyvtárban kapható.
- Importálja a tensorflow könyvtárat, mivel a Keras tensorflow háttérrel fogjuk használni.
import tensorflow as tf
- Először töltse be az MNIST adatkészletet Kerasból az edzési és a teszt adatkészletbe.
mnist = tf.keras.datasets.mnist
- A szekvenciális modell az alábbiakkal jön létre:
tf.keras.models.Sequential
- A modell kiképzéséhez a Model.fit () -et használjuk. A naplók létrehozhatók és tárolhatók a következőkkel:
tf.keras.callback.TensorBoard
- A hisztogram kiszámításához
histogram_freq=1.
Alapértelmezés szerint ki van kapcsolva.
Az MNIST adatkészlet fent tárgyalt osztályozásának kódja a következő:
# 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))
A tensorboard elindításához a helyi kiszolgálón lépjen a könyvtár helyére, ahol a tensorflow telepítve van, majd futtassa a következő parancsot:
tensorboard --logdir=/path/to/logs/files
-
skalárokkal
A skálák minden korszakban változást mutatnak. A fenti ábra a pontosság és a veszteség grafikonját mutatja minden korszak után. Az epoch_acc és az epoch_loss az edzés pontossága és az edzés vesztesége. Míg az epoch_val_acc és az epoch_val_loss az érvényesítési adatok pontossága és elvesztése.
A világosabb narancssárga vonalak pontos pontosságot vagy veszteséget mutatnak, a sötétebb pedig kiegyenlített értékeket mutat. A simítás segít az adatok általános tendenciájának megjelenítésében.
-
grafikonok
A Grafikon oldal segít a modell grafikonjának megjelenítésében. Ez segít ellenőrizni, hogy a modell megfelelően van-e felépítve.
A grafikon megjelenítéséhez létre kell hoznunk egy munkamenetet, majd a TensorFLow FileWriter objektumot. Az íróobjektum létrehozásához át kell adnunk azt az utat, ahol az összefoglaló tárolódik, és argumentumként a sess.graph-ot.
writer = tf.summary.FileWriter(STORE_PATH, sess.graph)
A tf.placeholder () és tf.Variable () a helyőrzők és a tensorflow-kód változók számára használatos.
Ez megmutatja az általunk felépített modell grafikus megjelenítését. Az összes lekerekített téglalap névtér. Az oválisok pedig a matematikai műveleteket mutatják.
Az állandók kis körökben vannak feltüntetve. A grafikon rendetlenségének csökkentése érdekében a tensorboard néhány egyszerűsítést végez pontozott ovális vagy kerek téglalapok felhasználásával, pontozott vonallal. Ezek azok a csomópontok, amelyek sok más csomóponthoz vagy az összes csomóponthoz kapcsolódnak. Tehát pontozottan tartják őket a grafikonon, és részleteik a jobb felső sarokban láthatók. A jobb felső sarokban található a kapcsolat a színátmenetekkel, a színátmenetek csökkenésével vagy az inic csomópontokkal.
Az egyes csomópontokon belüli és az egyes csomópontokból kijövő tenzorok számának megismeréséhez láthatja a grafikon éleit. A grafikon élei leírják a grafikonon áramló tenzorok számát. Ez segít az egyes csomópontok bemeneti és kimeneti dimenzióinak azonosításában. Ez segít bármilyen probléma hibakeresésében.
-
Eloszlások és hisztogramok
Ez megmutatja a tenzor eloszlását az idő függvényében, és láthatjuk a súlyokat és az eltéréseket. Ez mutatja a bemenetek és a kimenetek előrehaladását az idők során minden korszakban. Két megtekintési lehetőség van:
Eltolás és átfedés.
A hisztogramok ofszet nézete a következő lesz:
A hisztogram Overlay nézete:
A Terjesztés oldal mutatja a statisztikai eloszlásokat. A grafikon az átlagot és a szórást mutatja.
Előnyök
- A TensorBoard segíti a tanulás megjelenítését azáltal, hogy a modell összefoglalóit, például skálákat, hisztogramokat vagy képeket írja. Ez viszont elősegíti a modell pontosságának javítását és a hibakeresést.
- A mély tanulás feldolgozása fekete doboz, és a tenzortábla grafikonok és hisztogramok segítségével segíti a fekete dobozban zajló feldolgozás megértését.
Következtetés - TensorBoard
A TensorBoards megjeleníti a képzett mélykereset-modellt, és segít megérteni azt. Használható mind a TensorFlow, mind a Keras esetén. Elsősorban a skálák viselkedését, a metrikákat ábrázolja hisztogramok és a modellgráf egésze révén.
Ajánlott cikkek
Ez a TensorBoard útmutatója. Itt tárgyaljuk a Tensboard telepítését és használatát a Keras modellel és az Előnyök használatával kapcsolatban. Lehet, hogy megnézi a következő cikkeket is, ha többet szeretne megtudni -
- Bevezetés a Tensorflow-ba
- A TensorFlow telepítése
- Mi a TensorFlow?
- TensorFlow játszótér
- Tensorflow alapok