Огляд TensorBoard

TensorBoard - це візуалізаційна система тензорфлоу для розуміння та перевірки потоку алгоритму машинного навчання.

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

Моделі глибокого навчання подібні до чорної скриньки, важко знайти обробку, що відбувається всередині неї. Важливо отримати уявлення про побудову моделі. За допомогою візуалізації ви можете дізнатися, які параметри змінити на яку суму, щоб отримати підвищення в продуктивності моделі. Тож TensorBoard є важливим інструментом для візуалізації кожної епохи на етапі тренувань моделі.

Установка

Щоб встановити тензорну плату за допомогою pip, виконайте таку команду:

pip install tensorboard

Крім того, його можна встановити за допомогою команди conda,

Conda install tensorboard

Використання

Використання тензорної дошки з моделлю Keras:

Keras - бібліотека з відкритим кодом для моделей глибокого навчання. Це бібліотека високого рівня, яку можна запускати на вершині тенсорфлоу, теано тощо.

Щоб встановити бібліотеку tensorflow і Keras за допомогою pip:

pip install tensorflow pip install Keras

Візьмемо простий приклад класифікації за допомогою набору даних MNIST. MNIST - це числовий набір даних англійською мовою, який містить зображення чисел від 0-9. Він доступний у бібліотеці Keras.

  • Імпортуйте бібліотеку tensorflow, оскільки ми будемо використовувати Keras з тензорфлоу-сервісом.

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

Щоб запустити тензорну плату на локальному сервері, перейдіть до каталогу каталогу, де встановлено tensorflow, та виконайте наступну команду:

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

  • Скаляри

Скаляри показують зміни з кожною епохою. На наведеному малюнку зображено графік точності та втрат після кожної епохи. Epoch_acc та epoch_loss - це точність навчання та втрата тренувань. Тоді як epoch_val_acc та epoch_val_loss - це точність та втрата даних перевірки.

Більш світлі помаранчеві лінії показують точну або точну втрату, а темніша - згладжені. Згладжування допомагає візуалізувати загальний тренд даних.

  • Графіки

Сторінка «Графік» допомагає візуалізувати графік вашої моделі. Це допоможе вам перевірити, чи правильно побудована модель чи ні.

Щоб візуалізувати графік, нам потрібно створити сеанс, а потім об'єкт TensorFLow FileWriter. Щоб створити об'єкт Writer, нам потрібно пройти шлях, де зберігається резюме, і sess.graph як аргумент.

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

tf.placeholder () і tf.Variable () використовується для заповнювачів та змінних у коді tensorflow.

Це показує графічну візуалізацію побудованої нами моделі. Усі округлі прямокутники - це простори імен. І овали показують математичні операції.

Константи відображаються як маленькі кола. Щоб зменшити захаращення на графіку, тензорна дошка робить деякі спрощення, використовуючи пунктирні овали або округлі прямокутники з пунктирними лініями. Це вузли, які пов'язані з багатьма іншими вузлами або всіма вузлами. Таким чином, вони зберігаються як нанесені на графіку, і їх деталі можна побачити у верхньому правому куті. У правому верхньому куті передбачено прив’язку до градієнтів, градієнтних спусків або вузлів init.

Щоб знати кількість тензорів, що заходять всередину та виходять із кожного вузла, ви можете побачити ребра на графіку. Краї графіка описують кількість тензорів, що протікають у графіку. Це допомагає визначити вхідні та вихідні розміри з кожного вузла. Це допомагає налагодити будь-яку проблему.

  • Поширення та гістограми

Це показує тензорні розподіли з часом, а також ми можемо бачити ваги та ухили. Це показує хід входів та результатів у часі для кожної епохи. Є два варіанти перегляду:

Зсув та накладення.

Перегляд зміщення гістограм буде таким:

Перегляд накладання гістограми:

На сторінці розподілу відображаються статистичні розподіли. На графіку показано середнє та стандартне відхилення.

Переваги

  • TensorBoard допомагає у візуалізації навчання шляхом написання резюме моделі, наприклад скалярів, гістограм або зображень. Це, в свою чергу, допомагає підвищити точність моделі та легко налагодити.
  • Глибока обробка навчання - це чорна скринька, а тензорна дошка допомагає зрозуміти обробку, що відбувається в чорному полі за допомогою графіків та гістограм.

Висновок - TensorBoard

TensorBoards забезпечує візуалізацію моделі глибокого заробітку, яка навчається, і допомагає зрозуміти їх. Його можна використовувати як з TensorFlow, так і з Keras. Він головним чином забезпечує візуалізацію поведінки скалярів, метрик за допомогою гістограм та модельного графіка в цілому.

Рекомендовані статті

Це путівник по TensorBoard. Тут ми обговорюємо встановлення та використання Tensboard, використовуючи його з моделлю Keras з перевагами. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Вступ до Тенсорфлоу
  2. Як встановити TensorFlow
  3. Що таке TensorFlow?
  4. Ігровий майданчик TensorFlow
  5. Основи Tensorflow

Категорія: