Я новичок в Tensorflow, и мне бы очень пригодились визуализации того, что я делаю. Я понимаю, что Tensorboard - полезный инструмент визуализации, но как мне запустить его на моем удаленном компьютере с Ubuntu?
117
Я новичок в Tensorflow, и мне бы очень пригодились визуализации того, что я делаю. Я понимаю, что Tensorboard - полезный инструмент визуализации, но как мне запустить его на моем удаленном компьютере с Ubuntu?
Ответы:
Вот что я делаю, чтобы избежать проблем с принятием удаленным сервером вашего локального внешнего IP-адреса:
-L
переноса порта6006
удаленного сервера в порт16006
моей машины (например):ssh -L 16006:127.0.0.1:6006 olivier@my_server_ip
Что он делает, так это то, что все на порте
6006
сервера (входящего127.0.0.1:6006
) будет перенаправлено на мою машину через порт16006
.tensorboard --logdir log
с6006
портом по умолчанию.источник
127.0.0.1
вот IP вашего локального компьютера, поэтому оставьте его как есть. Не меняйте его на свой удаленный ip. Я потратил на это 10 минут. Как я глуп!-4
флагом ssh решило эту проблему. Читая похожие вопросы, у многих были проблемы с адресами IPv6 на своих серверах.-N
флаг, чтобы не открывать оболочку ssh. Добавление-f
ставит ssh-соединение в фоновый режим.Вы можете перенаправить порт с помощью другой
ssh
команды, которая не должна быть привязана к тому, как вы подключаетесь к серверу (в качестве альтернативы другому ответу). Таким образом, порядок следующих шагов произвольный.со своего локального компьютера запустите
ssh -N -f -L localhost:16006:localhost:6006 <user@remote>
на удаленном компьютере запустите:
tensorboard --logdir <path> --port 6006
Затем перейдите по адресу (в этом примере) http: // localhost: 16006 на вашем локальном компьютере.
(объяснение команды ssh:
-N
: нет удаленных команд-f
: поставить ssh в фоновый режим-L <machine1>:<portA>:<machine2>:<portB>
:вперед
<machine2>:<portB>
(удаленная область) на<machine1>:<portA>
(локальная область)источник
Не нужно делать ничего особенного. Просто беги:
и подключитесь с помощью URL-адреса и порта вашего сервера. Он
--host 0.0.0.0
сообщает тензорному потоку, что нужно прослушивать соединения на всех IPv4-адресах на локальном компьютере.источник
Другой вариант, если вы не можете заставить его работать по какой-либо причине, - просто смонтировать каталог logdir в вашей файловой системе с помощью sshfs:
sshfs user@host:/home/user/project/summary_logs ~/summary_logs
а затем запустите Tensorboard локально.
источник
"whats my ip"
или введя следующую команду:wget http://ipinfo.io/ip -qO -
wget http://ipinfo.io/ip -qO -
снова оттуда.6006
123.123.12.32:6006
Если ваш удаленный сервер открыт для трафика с вашего локального IP-адреса, вы должны увидеть свою удаленную Tensorboard.
Предупреждение : если весь интернет-трафик может получить доступ к вашей системе (если вы не указали один IP-адрес, который может получить к нему доступ), любой может увидеть ваши результаты TensorBoard и сбежать, создав SkyNet самостоятельно.
источник
Это неправильный ответ, но средство устранения неполадок, надеюсь, поможет другим менее опытным сетевым специалистам, таким как я.
В моем случае (firefox + ubuntu16) браузер подключался, но показывал пустую страницу (с логотипом tenorboard на вкладке), и никаких действий журнала не отображалось. Я до сих пор не знаю, в чем может быть причина этого (особо не разбирался, но если кто-нибудь знает, дайте знать!), Но я решил, что переключился на браузер Ubuntu по умолчанию. Вот точные шаги, почти такие же, как в ответе @Olivier Moindrot:
tensorboard --logdir=. --host=localhost --port=6006
ssh -p 23 <USER>@<SERVER> -N -f -L localhost:16006:localhost:6006
Browser
и посетитеlocalhost:16006
. Страница тензорной доски должна загрузиться без особых задержек.Чтобы проверить, что SSH-туннель работает эффективно, может помочь простой эхо-сервер, такой как этот скрипт python :
<ECHO>.py
файл на сервере и запустите его с помощьюpython <ECHO>.py
. Теперь сервер будет прослушивать эхо-сценарий 0.0.0.0:5555 .ssh -p <SSH_PORT> <USER>@<SERVER> -N -f -L localhost:12345:localhost:5555
telnet localhost 12345
будет подключаться к эхо-сценарию, запущенному на сервере. Вводhello
и нажатие Enter должны распечататьhello
обратно. Если это так, ваш туннель SSH работает. Это был мой случай, и я пришел к выводу, что проблема связана с браузером. Попытка подключиться с другого терминала привела к зависанию терминала.Как я уже сказал, надеюсь, это поможет!
Привет,
Андрес
источник
https://github.com/dmlc/tensorboard
просто чтобы добавить больше альтернатив к настроить. CheersВы можете напрямую запустить следующую команду на терминале вашего удаленного сервера, чтобы запустить тензорборд:
Или вы также можете запустить тензорную доску в своем блокноте ipython:
источник
Вам необходимо создать ssh-соединение с использованием переадресации портов:
Затем вы запускаете
tensorboard
команду:Затем вы можете легко получить доступ к
tensorboard
в своем браузере в разделе:источник
--bind_all
вариант полезный.Порт будет автоматически выбираться из 6006. (6006, 6007, 6008 ...)
источник
Для всех, кому необходимо использовать ssh-ключи (для корпоративного сервера).
Просто добавь
-i /.ssh/id_rsa
в конце.$ ssh -N -f -L localhost:8211:localhost:6007 myname@servername -i /.ssh/id_rsa
источник
При запуске тензорной платы укажите еще одну опцию --host = ip вашей системы, а затем вы можете получить к ней доступ из другой системы, используя http: // ip вашей хост-системы : 6006
источник
Другой подход - использовать обратный прокси , который позволяет просматривать Tensorboard с любого устройства, подключенного к Интернету, без SSHing . Такой подход может значительно упростить / упростить просмотр Tensorboard на мобильных устройствах, например.
Шаги:
1) Загрузите обратный прокси-сервер Ngrok на удаленный компьютер, на котором размещен Tensorboard. См. Https://ngrok.com/download для инструкций (установка ~ 5 минут).
2) Беги
ngrok http 6006
(при условии, что вы размещаете Tensorboard на порту 6006)3) Сохраните URL-адрес, который выводит ngrok:
4) Введите это в любой браузер, чтобы просмотреть TensorBoard:
Особая благодарность Сэму Киркилсу
источник