Развертывание плагина Tensorboard - PullRequest
0 голосов
/ 05 декабря 2018

Согласно этому официальному примеру плагина Tensorboard:

https://github.com/tensorflow/tensorboard-plugin-example

единственный способ использовать пользовательский плагин Tensorboard - это создать собственный Tensorboard, включающий этот плагин.Это кажется очень странным (я полагаю, что лучший способ объединить пользовательский плагин - это зарегистрировать его как-нибудь на «стандартном» Tensorboard или передать его имя / путь в качестве аргумента Tensorboard).Это странный подход, но я мог бы жить с этим.Что меня действительно беспокоит, так это то, что из приведенного выше примера похоже, что единственный способ запустить пользовательский Tensorboard - это использовать команду «bazel run»

bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo

Или, возможно, я ошибаюсь, и возможно начатьпользовательский TensorBoard без Базеля?Я новичок как в Python, так и в Tensorboard, поэтому я не мог придумать другой способ начать его.К сожалению, README.md, входящий в этот пример, мало говорит о развертывании плагинов Tensorboard, а вместо этого предоставляет ссылку на Tensorboard README и документацию Bazel.Но я не смог найти там никакой полезной информации о развертывании плагинов и пользовательских тензорных досок.

Интеграция

Как только у вас есть плагин (или, более реалистично,когда вы его разрабатываете), вы захотите использовать его внутри TensorBoard.Для этого мы рекомендуем вам разветвить этот репозиторий;в нем все настроено.

По сути, вы интегрируете новый плагин путем создания пользовательской сборки TensorBoard.Пользовательская сборка должна изменить две вещи:

  1. Необходимо использовать собственный файл main.py, который импортирует стандартные плагины TensorBoard и добавляет новый в бэкэнд.
  2. Он должен предоставить свой собственный файл index.html, который импортирует новый внешний интерфейс плагина TensorBoard и регистрирует его как панель мониторинга.

Если вы действительно хотите понять, что происходит с интеграцией, выВам нужно понять Bazel, нашу систему сборки.Вы можете прочитать документы Bazel, а также нашу подборку полезных советов.

Если это единственный способ запустить пользовательскую тензорную доску, это означает, что каждый пользователь моей пользовательской тензорной доски должен будет установить Bazel, исоздайте собственный тензорборд из C ++ и Python.Но я даже не смог заставить Bazel построить этот образец Greeter на Windows, потому что компилятор VC15 (тот, который поставляется с Visual Studio 2017) не может скомпилировать C ++, используемый в TensorBoard (я полагаю, что VC не полностью поддерживает современный стандарт C ++).Я смог построить его только на Linux.Итак, мой вопрос: как именно должны распространяться и запускаться пользовательские тензорные доски?Можно ли обойтись без Базеля?

1 Ответ

0 голосов
/ 05 декабря 2018

Я понял, как создать дистрибутив пользовательской демоверсии Greeter и запускать ее без Bazel.Допустим, код демо-тензорной доски Greeter был клонирован в ~ / tenorboard-plugin-example .После построения плагина и тензорной доски с помощью команд:

bazel run //greeter_plugin:greeter_demo
bazel run //greeter_tensorboard -- --logdir=/tmp/greeter_demo
  1. Копировать greeter_tensorboard каталог из ~ / tenorboard-plugin-example в ~ /

  2. Скопировать ~ / tenorboard-plugin-example / greeter_plugin каталог в ~ / greeter_tensorboard

  3. Скопируйте файл assets.zip из ~ / tenorboard-plugin-example / bazel-bin / greeter_tensorboard в ~ / greeter_tensorboard

Теперь вы можете запустить свой собственный тензорный экран Greeter с помощью команды:

python ~/greeter_tensorboard/main.py --logdir=/tmp/greeter_demo

Предполагается, что данные теста были сгенерированы в / tmp/ greeter_demo , запустив команду

bazel run //greeter_plugin:greeter_demo

.

...