Как мы можем туннелировать Tensorboard в Google colab без ограничения соединения Ngrok? - PullRequest
2 голосов
/ 15 января 2020

Для доступа к Tensorboard Google colab используются следующие два подхода:

Tensorboard magi c метод inline

Использование команд Jupyter (et c) magi c для отображения inline тензорной доски в блокноте

%load_ext tensorboard
%tensorboard --logdir {logs_base_dir}

Это наиболее распространенный метод, имеющий ряд существенных недостатков

  • Ограниченный объем экранного пространства
  • Не всегда запускается
  • Склонен к отображению сообщения типа Process already running use '!kill pid 9999' (выполнение предложенной команды! Kill не работает)

Туннельный щит с Ngrok

Другой метод использует Ngrok и создает Туннель, который позволяет получить доступ к тензорной доске в отдельной вкладке

!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip

os.makedirs(logs_base_dir, exist_ok=True)
get_ipython().system_raw(
    'tensorboard --logdir {} --host 0.0.0.0 --port 6006 &'
    .format(logs_base_dir))

get_ipython().system_raw('./ngrok http 6006 &')
! curl -s http://localhost:4040/api/tunnels | python3 -c \
    "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

Этот метод является отличным, за исключением Ngroks 20 соединений в минуту ограничения. Так как тензорная доска выполняет фоновую ссылку sh, она скоро достигнет этого предела и потребует перезагрузить страницу, подождать несколько минут, а затем загрузить данные и повторять это.

Какой вариант?

У нас есть другое программное обеспечение, подобное Ngrock, которое не имеет ограничений и будет работать с colab? Я также вижу решение, в котором открыт туннель непосредственно к IP-адресу машины, что позволило бы устранить ограничения.

В локальной среде простой и надежный способ - запустить тензорную панель как процесс переднего плана в терминале, просто выполнив что-то вроде

tensorboard --logdir './log' --host localhost

Как сделать пользовательский процесс на тензорной доске приятным на colab?

  • Машины Google colab работают под управлением Ubuntu 18
  • В принципе возможна любая команда терминала

Записная книжка с обоими включенными методами может быть найдена здесь

...