Преглед на TensorBoard

TensorBoard е рамка за визуализация на tensorflow за разбиране и проверка на потока на алгоритмите за машинно обучение.

Оценката на модела на машинно обучение може да се извърши чрез много показатели като загуба, точност, графика на модела и много други. Производителността на алгоритъма за машинно обучение зависи от избора на модел и хиперпараметрите, подадени в алгоритъма. Експериментите се извършват чрез промяна на стойностите на тези параметри.

Моделите за дълбоко обучение са като черна кутия, трудно е да се намери обработката, която се извършва вътре в нея. Важно е да добиете представа за изграждането на модела. С помощта на визуализацията можете да знаете кои параметри да промените с какво количество, за да получите подобрението в производителността на модела. Така TensorBoard е важен инструмент за визуализиране на всяка епоха по време на фазата на обучение на модел.

Инсталация

За да инсталирате тензорната дъска с помощта на pip, изпълнете следната команда:

pip install tensorboard

Алтернативно, той може да бъде инсталиран с помощта на команда conda,

Conda install tensorboard

употреба

Използване на тендерборд с модел Keras:

Keras е библиотека с отворен код за модели за задълбочено обучение. Това е библиотека на високо ниво, която може да се изпълнява на върха на tensorflow, theano и т.н.

За да инсталирате библиотеката tensorflow и Keras с помощта на pip:

pip install tensorflow pip install Keras

Нека вземем прост пример за класификация, използвайки набора от данни MNIST. MNIST е английски цифров набор от данни, който съдържа изображения на числа от 0-9. Предлага се с библиотеката на Керас.

  • Импортирайте библиотеката tensorflow, тъй като ние ще използваме Keras с tensorflow backkend.

import tensorflow as tf

  • Първо заредете MNIST набора от Keras в база данни за обучение и тест.

mnist = tf.keras.datasets.mnist

  • Последователният модел е създаден с помощта на,

tf.keras.models.Sequential

  • За обучението се използва моделът Model.fit (). Дневниците могат да бъдат създадени и съхранявани с помощта на,

tf.keras.callback.TensorBoard

  • За да активирате изчисленията на хистограма,

histogram_freq=1.

Изключено е по подразбиране.

Кодът за по-горе обсъжданата класификация на набора от данни на MNIST е както следва:

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

За да стартирате tensorboard на локалния сървър, отидете на директорията, където е инсталиран tensorflow, и след това изпълнете следната команда:

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

  • Scalars

Скаларите показват промяна с всяка епоха. Горната фигура показва графиката на точност и загуба след всяка епоха. Epoch_acc и epoch_loss са точност на тренировката и загуба на тренировки. Като има предвид, че epoch_val_acc и epoch_val_loss са точността и загубата на валидиращи данни.

По-светлите оранжеви линии показват точност или загуба, а по-тъмните представляват изгладени стойности. Изглаждането помага за визуализиране на общата тенденция в данните.

  • Графики

Страницата Graph ви помага да визуализирате графиката на вашия модел. Това ви помага да проверите дали моделът е изграден правилно или не.

За да визуализираме графиката, трябва да създадем сесия и след това обект TensorFLow FileWriter. За да създадем обекта на писател, трябва да преминем пътя, където се съхранява обобщението, и сесе.граф като аргумент.

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

tf.placeholder () и tf.Variable () се използва за заместители и променливи в кода tensorflow.

Това показва графичната визуализация на модела, който сме изградили. Всички заоблени правоъгълници са пространства с имена. И овалите показват математическите операции.

Константите са показани като малки кръгове. За да намали претрупването в графиката, тензорът прави някои опростявания, като използва пунктирани овали или заоблени правоъгълници с пунктирани линии. Това са възлите, които са свързани с много други възли или всички възли. Така те се съхраняват като изпъкнати в графиката и техните детайли могат да се видят в горния десен ъгъл. В горния десен ъгъл е осигурена връзка към градиенти, градиентни спускания или възелчета за иницииране.

За да знаете броя на тензорите, влизащи вътре и излизащи от всеки възел, можете да видите ръбовете в графиката. Краищата на графиката описват броя тензори, протичащи в графиката. Това помага при идентифицирането на входните и изходните размери от всеки възел. Това помага при отстраняване на грешки при всеки проблем.

  • Разпределения и хистограми

Това показва разпределението на тензора с времето, както и тежести и отклонения. Това показва напредъка на входовете и изходите във времето за всяка епоха. Има две опции за гледане:

Отместване и наслагване.

Изгледът на изместване на хистограмите ще бъде следният:

Изгледът на Overlay на хистограмата е:

Страницата за разпространение показва статистическите разпределения. Графиката показва средните и стандартните отклонения.

Ползи

  • TensorBoard помага за визуализиране на обучението, като пише резюмета на модела като скалари, хистограми или изображения. Това от своя страна помага да се подобри точността на модела и лесното отстраняване на грешки.
  • Дълбоката обработка на обучението е нещо с черна кутия, а тензорът помага за разбирането на обработката, която се извършва в черната кутия с помощта на графики и хистограми.

Заключение - TensorBoard

TensorBoards осигурява визуализация на модела за дълбоко печелене, който се обучава и помага за разбирането им. Може да се използва с TensorFlow и Keras и двете. Основно осигурява визуализиране на поведението на скалари, показатели с помощта на хистограми и моделна графика като цяло.

Препоръчителни статии

Това е ръководство за TensorBoard. Тук обсъждаме инсталирането и използването на Tensboard, използвайки го с модел Keras с предимства. Може да разгледате и следните статии, за да научите повече -

  1. Въведение в Tensorflow
  2. Как да инсталирате TensorFlow
  3. Какво е TensorFlow?
  4. TensorFlow Playground
  5. Основи на Tensorflow

Категория: