Интеграция Colab и локального Jupyter Notebook

Conda удобна для разработки приложений на Python с использованием JupyterLab/Jupyter Notebook. При работе с нейронками в Google Colab к интерфейсу адаптированного Google-ом Jupyter Notebook привыкаешь и возвращаться в интерфейс обычного Jupyter Notebook уже непривычно. Файл ipynb можно открыть и в Colab и в JupyterLab/Jupyter Notebook.

При сохранении ipynb из Google Colab файл сохраняется на Google Drive. Conda поддерживает работу с GDrive. Файл можно открывать с Google Drive и в Colab и в Conda Jupyter, но хотелось бы еще и интерфейс использовать Colab, при этом работать на локальном ПК, если не нужны GPU.

Настройка интеграции несложная:

Шаг 1: Инсталляция Jupyter

Открываем терминал в Anaconda Navigator

В консоли набираем:

conda install -c conda-forge jupyterlab

or pip:

pip install jupyterlab

Детальную информацию можно найти здесь.

Шаг 2: Установка серверного расширения Jupyter для использования WebSocket для проксирования HTTP трафика

Нужно установить расширение jupyter_http_over_ws командой:

pip install jupyter_http_over_ws

И затем активировать расширение:

jupyter serverextension enable --py jupyter_http_over_ws

Более подробная инфомация о расширении в GitHub.

Шаг 3: Запуск локального сервера Jupyter

Нужно запустить локальный сервер Jupyter который позволит создать WebSocket соединение с фронтенда Colab. Это делается следующей командой:

jupyter notebook --NotebookApp.allow_origin='https://colab.research.google.com' --port=8888 --NotebookApp.port_retries=0

После запуска сервера в терминале будет выведено сообщение c URL с токеном для авторизации в Colab. Нужно скопировать этот URL.

Порт 8888 оказался занят, поэтому пришлось выбрать другой порт: 8008.

Копируем http://localhost:8008/?token=31150bd7ca7da33f5a49afcb1d01c4d39c25d8fcde34e2fa

Шаг 4: Соединение локального Jupyter к Colab

Прееходим в Colab и выбираем «Подключиться к локальной среде выполнения» («Connect to local runtime»).

Или в английской версии Colab:

Вставляем скопированную строчку в поле Backend URL и CONNECT:

Если Colab соединится с локальным backend-ом на ПК/сервере, то проставится галка:

При повторных поключениях достаточно пройти шаг 3 и 4.

Деинсталляция

Для отключения и удаления расширения jupyter_http_over_ws нужно запустить:

jupyter serverextension disable --py jupyter_http_over_ws
pip uninstall jupyter_http_over_ws

Полезные статьи

Spread the love
Запись опубликована в рубрике IT рецепты с метками , , . Добавьте в закладки постоянную ссылку.

Обсуждение закрыто.