Przegląd TensorBoard

TensorBoard to środowisko wizualizacji tensorflow do zrozumienia i kontroli przepływu algorytmu uczenia maszynowego.

Oceny modelu uczenia maszynowego można dokonać za pomocą wielu wskaźników, takich jak utrata, dokładność, wykres modelu i wiele innych. Wydajność algorytmu uczenia maszynowego zależy od wyboru modelu i hiperparametrów wprowadzonych do algorytmu. Eksperymenty przeprowadza się poprzez zmianę wartości tych parametrów.

Modele do głębokiego uczenia się są jak czarna skrzynka, trudno jest znaleźć w niej przetwarzanie. Ważne jest, aby uzyskać wgląd w budowę modelu. Za pomocą wizualizacji możesz wiedzieć, które parametry zmodyfikować o ile, aby uzyskać poprawę wydajności modelu. Tak więc TensorBoard jest ważnym narzędziem do wizualizacji każdej epoki podczas fazy szkolenia modelu.

Instalacja

Aby zainstalować tablicę tensorboard przy użyciu pip, uruchom następujące polecenie:

pip install tensorboard

Alternatywnie można go zainstalować za pomocą polecenia conda,

Conda install tensorboard

Stosowanie

Korzystanie z tensorboardu z modelem Keras:

Keras to biblioteka typu open source do modeli głębokiego uczenia się. Jest to biblioteka wysokiego poziomu, którą można uruchomić na górze tensorflow, theano itp.

Aby zainstalować tensorflow i bibliotekę Keras za pomocą pip:

pip install tensorflow pip install Keras

Weźmy prosty przykład klasyfikacji za pomocą zestawu danych MNIST. MNIST to angielski zestaw danych numerycznych, który zawiera obrazy liczb od 0 do 9. Jest dostępny z biblioteką Keras.

  • Zaimportuj bibliotekę tensorflow, ponieważ będziemy używać Keras z backendem tensorflow.

import tensorflow as tf

  • Najpierw załaduj zestaw danych MNIST z Keras do zestawu danych szkoleniowych i testowych.

mnist = tf.keras.datasets.mnist

  • Model sekwencyjny jest tworzony przy użyciu,

tf.keras.models.Sequential

  • Do trenowania używa się modelu Model.fit (). Dzienniki można tworzyć i przechowywać za pomocą,

tf.keras.callback.TensorBoard

  • Aby włączyć obliczanie histogramu,

histogram_freq=1.

Domyślnie jest wyłączone.

Kod wyżej omówionej klasyfikacji zestawu danych MNIST jest następujący:

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

Aby uruchomić tensorboard na lokalnym serwerze, przejdź do katalogu, w którym jest zainstalowany tensorflow, a następnie uruchom następującą komendę:

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

  • Skalary

Skalary pokazują zmiany z każdą epoką. Powyższy rysunek pokazuje wykres dokładności i utraty po każdej epoce. Epoch_acc i epoch_loss to dokładność i utrata treningu. Natomiast epoch_val_acc i epoch_val_loss to dokładność i utrata danych sprawdzania poprawności.

Jaśniejsze pomarańczowe linie pokazują dokładną dokładność lub utratę, a ciemniejsza przedstawia wygładzone wartości. Wygładzanie pomaga w wizualizacji ogólnego trendu w danych.

  • Wykresy

Strona Wykres pomaga w wizualizacji wykresu modelu. Pomaga to sprawdzić, czy model jest poprawnie zbudowany, czy nie.

Aby zwizualizować wykres, musimy utworzyć sesję, a następnie obiekt FileWriter TensorFLow. Aby utworzyć obiekt piszący, musimy podać ścieżkę, w której znajduje się podsumowanie, i argument argument sess.graph.

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

tf.placeholder () i tf.Variable () są używane dla symboli zastępczych i zmiennych w kodzie tensorflow.

To pokazuje graficzną wizualizację zbudowanego przez nas modelu. Wszystkie zaokrąglone prostokąty to przestrzenie nazw. A owale pokazują operacje matematyczne.

Stałe są wyświetlane jako małe kółka. Aby zmniejszyć bałagan na wykresie, tensorboard wprowadza pewne uproszczenia, stosując kropkowane owale lub zaokrąglone prostokąty z kropkowanymi liniami. Są to węzły połączone z wieloma innymi węzłami lub wszystkimi węzłami. Są one więc przechowywane w postaci kropkowanej na wykresie, a ich szczegóły można zobaczyć w prawym górnym rogu. W prawym górnym rogu znajduje się powiązanie z gradientami, zjazdami lub węzłami inicjującymi.

Aby poznać liczbę tensorów wchodzących i wychodzących z każdego węzła, możesz zobaczyć krawędzie na wykresie. Krawędzie wykresu opisują liczbę tensorów przepływających na wykresie. Pomaga to w identyfikacji wymiarów wejściowych i wyjściowych z każdego węzła. Pomaga to w debugowaniu dowolnego problemu.

  • Rozkłady i histogramy

Pokazuje to rozkład tensora w czasie, a także widzimy wagi i odchylenia. Pokazuje postęp wejść i wyjść w czasie dla każdej epoki. Istnieją dwie opcje wyświetlania:

Przesunięcie i nakładka.

Widok histogramów przesunięcia będzie wyglądał następująco:

Widok histogramu nakładki to:

Strona Dystrybucja pokazuje rozkłady statystyczne. Wykres pokazuje średnią i odchylenia standardowe.

Korzyści

  • TensorBoard pomaga w wizualizacji uczenia się, pisząc podsumowania modelu, takie jak skalary, histogramy lub obrazy. To z kolei pomaga poprawić dokładność modelu i ułatwia debugowanie.
  • Głębokie uczenie się przetwarzania jest kwestią czarnej skrzynki, a tensorboard pomaga zrozumieć przetwarzanie zachodzące w czarnej skrzynce za pomocą wykresów i histogramów.

Wniosek - TensorBoard

TensorBoards zapewnia wizualizację szkolonego modelu głębokich zarobków i pomaga w ich zrozumieniu. Można go używać zarówno z TensorFlow, jak i Keras. Zapewnia głównie wizualizację zachowania skalarów, metryk za pomocą histogramów i wykresu modelowego jako całości.

Polecane artykuły

To jest przewodnik po TensorBoard. Tutaj omawiamy instalację i użytkowanie Tensboard przy użyciu go z modelem Keras z korzyściami. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Wprowadzenie do Tensorflow
  2. Jak zainstalować TensorFlow
  3. Co to jest TensorFlow?
  4. Plac zabaw TensorFlow
  5. Podstawy Tensorflow

Kategoria: