Подтвердить что ты не робот

Как запустить Tensorboard на удаленном сервере?

Я новичок в Tensorflow и получаю большую пользу от некоторых визуализаций того, что я делаю. Я понимаю, что Tensorboard - полезный инструмент визуализации, но как его запустить на удаленном компьютере Ubuntu?

4b9b3361

Ответ 1

Вот что я делаю, чтобы избежать проблем, связанных с получением удаленного сервера локальным внешним IP-адресом:

  • когда я ssh в машину, я использую параметр -L для переноса порта 6006 удаленного сервера в порт 16006 моей машины (например): ssh -L 16006:127.0.0.1:6006 [email protected]_server_ip

Что он делает, так это то, что все на порту 6006 сервера (в 127.0.0.1:6006) будет переадресовано на мою машину на порту 16006.


  • Затем вы можете запустить тензограмму на удаленном компьютере с помощью стандартного tensorboard --logdir log с портом 6006 по умолчанию
  • На вашей локальной машине перейдите в http://127.0.0.1:16006 и наслаждайтесь удаленным TensorBoard.

Ответ 2

  • Найдите локальный внешний IP-адрес с помощью googling "whats my ip" или введите следующую команду: wget http://ipinfo.io/ip -qO -
  • Определите свой внешний внешний IP-адрес. Вероятно, это то, что происходит после вашего имени пользователя при отправке на удаленный сервер. Вы также можете снова wget http://ipinfo.io/ip -qO - оттуда тоже.
  • Защитите свой трафик удаленного сервера, чтобы просто принять локальный внешний IP-адрес.
  • Запустите Tensorboard. Обратите внимание на порт по умолчанию: 6006
  • Введите свой внешний внешний IP-адрес в свой браузер, а затем порт: 123.123.12.32:6006

Если ваш удаленный сервер открыт для трафика с вашего локального IP-адреса, вы сможете увидеть свою удаленную Tensorboard.

Предупреждение: если все интернет-трафик может получить доступ к вашей системе (если вы не указали ни одного IP-адреса, который может получить к нему доступ), каждый может просмотреть ваши результаты TensorBoard и побег с созданием самих SkyNet.

Ответ 3

Вы можете перенаправить порт с помощью другой команды ssh, которая не должна быть привязана к тому, как вы подключаетесь к серверу (в качестве альтернативы другому ответу). Таким образом, порядок нижеследующих шагов произволен.

  • с вашей локальной машины, запустите

ssh -N -f -L localhost:16006:localhost:6006 <[email protected]>

  1. на машине remote, запустите tensorboard --logdir <path>

(объяснение команды ssh:

-N: нет удаленных команд

-f: поставить ssh в фоновом режиме

-L <machine1>:<portA>:<machine2>:<portB>: forward <machine2>:<portB> (удаленная область) до <machine1>:<portA> (локальная область)

Ответ 4

Другой вариант, если вы не можете заставить его работать по какой-либо причине, - просто установить каталог logdir в вашей файловой системе с помощью sshfs:

sshfs [email protected]:/home/user/project/summary_logs ~/summary_logs

а затем запустите Tensorboard локально.

Ответ 5

Вам не нужно ничего делать. Просто запустите:

tensorboard --host 0.0.0.0 <other args here>

и подключитесь к серверному URL и порту. --host 0.0.0.0 сообщает функции tensorflow прослушивать соединения на всех IPv4-адресах на локальной машине.

Ответ 6

Это не правильный ответ, но устранение неполадок, надеюсь, поможет другим менее опытным сетевым пользователям, таким как я.

В моем случае (firefox + ubuntu16) браузер подключался, но показывал пустую страницу (с логотипом тензодатчика на вкладке), и никакой активности журнала вообще не было показано. Я до сих пор не знаю, что может быть причиной этого (не смотря на это много, но если кто-нибудь знает, пожалуйста, сообщите об этом!), Но я решил, что он переключается на браузер Ubuntu по умолчанию. Здесь точные шаги, почти такие же, как в @Olivier Moindrot, отвечают:

  • На сервере запустите тензограмму: tensorboard --logdir=. --host=localhost --port=6006
  • На клиенте откройте ssh tunnel ssh -p 23 <USER>@<SERVER> -N -f -L localhost:16006:localhost:6006
  • Откройте ubuntu Browser и зайдите в localhost:16006. Страница тензокартона должна загружаться без большой задержки.

Чтобы проверить, что туннель SSH эффективно работает, простой эхо-сервер, например этот python script может помочь:

  • Поместите файл script в файл <ECHO>.py на сервере и запустите его с помощью python <ECHO>.py. Теперь на сервере будет отображаться echo script на 0.0.0.0:5555.
  • На клиенте откройте ssh tunnel ssh -p <SSH_PORT> <USER>@<SERVER> -N -f -L localhost:12345:localhost:5555
  • На клиенте в том же терминале, который используется для открытия туннеля (шаг 2.), выдача telnet localhost 12345 будет подключаться к эхо файлу script, запущенному на сервере. Набрав hello и нажав enter, напечатайте hello назад. Если это так, ваш туннель SSH работает. Это был мой случай и привели меня к выводу, что проблема связана с браузером. Попытка подключиться с другого терминала заставила терминал замораживаться.

Как я уже сказал, надеюсь, что это поможет! Cheers,
Andres

Ответ 7

При запуске тензорной панели добавьте еще один параметр --host = ip вашей системы, а затем вы можете получить к нему доступ из другой системы, используя http:// ip вашей хост-системы: 6006

Ответ 8

Вам нужно создать ssh-соединение, используя переадресацию портов:

ssh -L 16006:127.0.0.1:6006 [email protected]

Затем вы запустите команду tensorboard:

tensorboard --logdir=/path/to/logs

Затем вы можете легко получить доступ к tensorboard в своем браузере в разделе:

localhost:16006/