TensorBoard

TensorBoard — это набор средств визуализации для отладки, оптимизации и понимания TensorFlow, PyTorch, преобразователей распознавания лиц и других программ машинного обучения.

Использование TensorBoard

Запуск TensorBoard в Azure Databricks ничем не отличается от запуска в записной книжке Jupyter на локальном компьютере.

  1. Загрузите магическую %tensorboard команду и определите каталог журнала.

    %load_ext tensorboard
    experiment_log_dir = <log-directory>
    
  2. Вызовите магическую %tensorboard команду.

    %tensorboard --logdir $experiment_log_dir
    

    Сервер TensorBoard запускается и отображает пользовательский интерфейс в записной книжке. Он также предоставляет ссылку для открытия TensorBoard на новой вкладке.

    На следующем снимке экрана показан пользовательский интерфейс TensorBoard, запущенный в заполненном каталоге журнала.

    Пользовательский интерфейс TensorBoard запущен в заполненном каталоге журнала

Вы также можете запустить TensorBoard с помощью модуля записной книжки TensorBoard напрямую.

from tensorboard import notebook
notebook.start("--logdir {}".format(experiment_log_dir))

Журналы и каталоги TensorBoard

TensorBoard визуализирует программы машинного обучения, считывая журналы, созданные обратными вызовами TensorBoard и функциями в TensorBoard или PyTorch. Чтобы создать журналы для других библиотек машинного обучения, можно напрямую записывать журналы с помощью средств записи файлов TensorFlow (см. раздел Module: tf.summary for TensorFlow 2.x и Module: tf.compat.v1.summary для старого API в TensorFlow 1.x ).

Чтобы обеспечить надежное хранение журналов экспериментов, Databricks рекомендует записывать журналы в облачное хранилище, а не в файловой системе временного кластера. Для каждого эксперимента запустите TensorBoard в уникальном каталоге. Для каждого выполнения кода машинного обучения в эксперименте, который создает журналы, задайте обратный вызов TensorBoard или модуль записи файлов для записи в подкаталог каталога эксперимента. Таким образом, данные в пользовательском интерфейсе TensorBoard разделяются на запуски.

Ознакомьтесь с официальной документацией по TensorBoard , чтобы приступить к использованию TensorBoard для регистрации сведений о программе машинного обучения.

Управление процессами TensorBoard

Процессы TensorBoard, запущенные в записной книжке Azure Databricks, не завершаются при отключении записной книжки или перезапуске REPL (например, при очистке состояния записной книжки). Чтобы вручную выполнить завершение процесса TensorBoard, отправьте ему сигнал завершения с помощью %sh kill -15 pid. Неправильно завершенные процессы TensorBoard могут повредить notebook.list().

Чтобы получить список серверов TensorBoard, работающих в кластере, с соответствующими каталогами журналов и идентификаторами процессов, выполните из notebook.list() модуля записной книжки TensorBoard.

Известные проблемы

  • Встроенный пользовательский интерфейс TensorBoard находится внутри iframe. Функции безопасности браузера предотвращают работу внешних ссылок в пользовательском интерфейсе, если вы не откроете ссылку на новой вкладке.
  • Параметр --window_title TensorBoard переопределен в Azure Databricks.
  • По умолчанию TensorBoard проверяет диапазон портов, чтобы выбрать порт для прослушивания. Если в кластере выполняется слишком много процессов TensorBoard, все порты в диапазоне портов могут быть недоступны. Это ограничение можно обойти, указав номер порта с аргументом --port . Указанный порт должен находиться в диапазоне от 6006 до 6106.
  • Для работы ссылок на скачивание необходимо открыть TensorBoard на вкладке.
  • При использовании TensorBoard 1.15.0 вкладка Проектор пуста. В качестве обходного решения для непосредственного посещения страницы проектора можно заменить #projector в URL-адресе на data/plugin/projector/projector_binary.html.
  • TensorBoard 2.4.0 имеет известную проблему , которая может повлиять на отрисовку TensorBoard при обновлении.