TensorBoard
TensorBoard — это набор средств визуализации для отладки, оптимизации и понимания TensorFlow, PyTorch, преобразователей распознавания лиц и других программ машинного обучения.
Использование TensorBoard
Запуск TensorBoard в Azure Databricks ничем не отличается от запуска в записной книжке Jupyter на локальном компьютере.
Загрузите магическую
%tensorboard
команду и определите каталог журнала.%load_ext tensorboard experiment_log_dir = <log-directory>
Вызовите магическую
%tensorboard
команду.%tensorboard --logdir $experiment_log_dir
Сервер 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 при обновлении.