Как успешно запустить Jupyter Notebooks на Paperspace

Позвольте мне нарисовать вам картину: вы уже какое-то время играете с машинным обучением, имея ограниченные ресурсы. Вы думаете, что время пришло, пора надеть ботинки для больших мальчиков и взять напрокат небольшой графический процессор. Вы с энтузиазмом пытаетесь открыть ноутбук Jupyter на графическом процессоре, и все ваши надежды и мечты рушатся, когда ноутбук не открывается.

Я написал эту статью, чтобы такие новички, как я, могли быстро решить проблемы с подключением и начать использовать свои недавно обретенные сверхспособности графического процессора. Я предполагаю, что у вас есть учетная запись Paperspace и графический процессор, готовый к работе. Если вы этого не сделаете, перейдите в Paperspace, создайте учетную запись и арендуйте графический процессор. Я наткнулся на Paperspace во время прохождения курса Fast AI. Убедитесь, что вы включили общедоступный IP-адрес. Вот видео о Fast AI, в котором рассказывается, как настроить графический процессор в Paperspace: (с 6:17 до 12:45)

Проблема 1 «KeyError:« разрешить удаленный доступ »

Мы набираем «jupyter notebook» в нашем ядре Linux на Paperspace и… ..

Решение 1:

Я нашел решение на форумах Fast AI. Ошибка возникает из-за того, что удаленный доступ к ноутбуку не разрешен.

Нам нужно разрешить удаленный доступ в файле «jupyter_notebook_config.py». Если вы обнаружите, что у вас нет файла конфигурации, выполните:

jupyter notebook --generate-config

Мы добавляем следующие строки в конец файла конфигурации:

c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.allow_origin = '*'
c.NotebookApp.allow_remote_access = True

Простой способ:

На вашем терминале Paperspace выполните (все в одной строке):

echo "c.NotebookApp.ip = '*'">> ~./.jupyter/jupyter_notebook_config.py

Мы добавляем команды в конец файла конфигурации, распечатывая их там. Echo - это Linux-эквивалент Python print («печать»). Попробуйте выполнить «эхо-печать», «эхо 3 * 5» на вашем терминале. Шаблон:

echo «X» ›› ~ / .jupyter / jupyter_notebook_config.py, где X обозначает 4 строки, которые нам нужно добавить.

Попробуйте открыть свой блокнот jupyter прямо сейчас в терминале. Если он открывается, когда вы вставляете URL-адрес в свой браузер, вы можете начать играть со своим новым графическим процессором (если ваш графический процессор включен). Я нашел этот крутой трюк с эхом здесь. Если нет, перейдите к Решение 2.

Менее популярная дорога:

Для этого измените активную директорию Paperspace на директорию jupyter:

cd ~/.jupyter

Затем, чтобы отредактировать файл конфигурации, выполните:

vi jupyter_notebook_config.py

Это откроет файл, как показано ниже. Если вы новичок в Linux и раньше не пользовались редактором vi, вы можете почувствовать себя немного сбитым с толку. Редактор vi не работает как типичный редактор Word с графическим интерфейсом Windows. Итак, нам придется перепрыгнуть через несколько обручей.

Редактор vi имеет 2 режима: командный режим и режим редактирования. В командном режиме вы можете сохранить файл, сохранить файл, сохранив или отменив внесенные изменения, перейти к началу или концу файла, перейти к определенной строке в файле и т. Д. В режиме редактирования вы просто напишите код, который вы хотите выполнить.

Когда мы открываем файл конфигурации в vi, он по умолчанию открывается в командном режиме. Мы хотим добавить несколько строк в конец файла. Чтобы перейти в режим редактирования, нажмите клавишу «Вставить» на клавиатуре. Когда мы успешно перешли в режим редактирования, мы увидим это внизу нашего терминала:

Прокрутка может не работать, поэтому вы можете поместить пресс-папье на клавишу «Вниз» на клавиатуре. Или перейдите в командный режим, нажав «Esc», а затем нажмите «Shift + G». Как только вы дойдете до конца, переключитесь в режим редактирования. Если вы копируете вставку лишних строк в файл, обязательно используйте «Ctrl + Shift + V» для вставки вместо «Ctrl + V». Теперь файл должен выглядеть так:

Чтобы сохранить изменения и выйти, выйдите из режима редактирования, нажав клавишу «Esc». Затем введите «: wq» и нажмите «Enter».

Попробуйте открыть свой блокнот jupyter прямо сейчас в терминале. Если он открывается, когда вы вставляете URL-адрес в свой браузер, вы можете начать играть со своим новым графическим процессором (если ваш графический процессор включен). Если нет, читайте дальше.

Теперь мы, по крайней мере, получаем localhost или ссылку 127.0.01, где вы найдете свой блокнот Jupyter. Вы пытаетесь открыть ссылку, но нет bueno. Если вы замените localhost или 127.0.0.1 своим общедоступным IP-адресом Paperspace (вы найдете его над своим терминалом Paperspace, где вы вводите команды, или вы можете нажать Ctrl + F для общедоступного IP-адреса здесь.) И сможете доступ к записной книжке и радость. Если нет, то читайте дальше.

Проблема 2 «localhost отказался подключиться»

Это мороженое бывает разных вкусов:

  1. "Localhost отказался подключиться"
  2. "Внутренняя Ошибка Сервера"
  3. "Время соединения истекло"

Все варианты приводят к странице «Этот сайт недоступен»:

Я попытался подключиться к Paperspace на своем телефоне и открыл записную книжку. И вот, тетрадь открылась. Когда мы открывали ноутбук на нашем ПК / ноутбуке, было неустановленное предположение. Мы предположили, что не находимся за брандмауэром. Оказывается, межсетевые экраны любят вмешиваться. (Убедитесь, что ваш интернет работает.)

Решение 2

Решение состоит из двух шагов. На первом этапе мы разрешаем доступ к портам, используемым Paperspace, через брандмауэр. Во втором мы убеждаемся, что удаленные порты (порты Paperspace Linux) доступны. Это решение предназначено для системы Windows 10.

Шаг 2.1 из 2.2

Перейдите в Панель управления и откройте «Система и безопасность».

Откройте «Брандмауэр Защитника Windows».

Зайдите в «Расширенные настройки».

Порты, используемые Paperspace, упомянуты в следующем сообщении поддержки:



Подводя итог, нам нужно разрешить доступ к портам: 9980, 5900, 22, 9981 (все TCP) и 514 (UDP).

Когда откроется «Расширенные настройки», вы увидите следующее:

Щелкните «Правила для входящих подключений», а затем «Новое правило». Выберите «Порт» в качестве типа правила во всплывающем окне.

Щелкните «Протоколы и порты» и введите данные, как показано.

Перемещайтесь по нужным вкладкам, как показано.

Наконец, нажмите «Готово». Добавленные правила появятся в Правилах для входящих подключений.

Нам также необходимо добавить порт UDP 514. Просто выполните те же действия, что и выше, и выберите «UDP», когда откроете «Протоколы и порты».

Шаг 2.2 из 2.2

Откройте свой терминал Paperspace.

Выполните показанные команды, от «sudo ufw allow 80 / tcp» до «jupyter notebook».

На этом этапе мы должны иметь возможность открывать записные книжки jupyter в нашем браузере. Обязательно замените localhost или 127.0.0.1 публичным IP-адресом учетной записи Paperspace.

SSH к вашему ноутбуку

Многие люди на форумах Fast AI рекомендуют SSHing в ваш удаленный терминал для запуска ваших ноутбуков, если вы не можете сделать это с самого терминала.

Если у вас система Windows, вам нужно скачать cmder. Я обнаружил это, когда искал git в Windows.



После того, как вы его загрузили и установили, откройте его. Убедитесь, что ваш терминал Paperspace не выключен.

Допустим, вы подключены по SSH к IP-адресу (ssh username @ IP) ssh [email protected]. Если IP-адрес не настроен, вы получите сообщение «Время ожидания подключения истекло». Если IP-адрес настроен, вам нужно будет ввести свой пароль для этого IP-адреса, в данном случае пароль, который вы, надеюсь, изменили после того, как Paperspace отправил его вам по почте. Мы также получим сообщение «Время ожидания подключения истекло», если время ожидания подключения истекло, но, надеюсь, этого не произойдет. Если вы все еще вставляете свой пароль, используйте «Ctrl + V» вместо «Ctrl + Shift + V», которое мы использовали раньше.

Если вы не знаете имя пользователя в Paperspace, откройте свой терминал Paperspace и введите «whoami». Вывод на терминал - это ваше имя пользователя. Совет от профессионала: все имена пользователей Paperspace по умолчанию являются «папками».

После подключения к удаленной системе попробуйте открыть блокнот jupyter и вставить URL-адрес с вашим общедоступным IP-адресом в браузер. Надеюсь, вы попадете на эту красивую страницу:

Вы можете установить пароль на своем терминале Paperspace, а затем снова открыть записную книжку:

Легкий лимонный сок. Закончив работу с записной книжкой, не забудьте выйти из SSH, набрав «exit».

Продолжайте, скучная часть начинается здесь:

Это моя первая запись в блоге. Я очень рад этому. Чтобы отдать должное, я потратил много времени на видео и форумы Fast AI, Google и YouTube, чтобы запустить ноутбук. Особый привет natkite, который всегда помогал мне с проблемами кодирования. Если у вас есть вопросы, комментарии или критика, напишите ниже.