Я использую SageMaker для тестирования подходов ML. Я хотел бы рефакторить свои скрипты SageMaker в сторону более готового к производству кода. Поэтому я хотел бы использовать VS Code для рефакторинга кода и запуска кода на экземпляре SageMaker, как и раньше. VS Code Python позволяет вам определить:
Python: укажите URI сервера Jupyter
SageMaker выдает вам AuthorizedUrl при запуске
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name your-instance-name
AuthorizedUrl работает, когда я открываю его в браузере инкогнито. Почему он не работает с VS Code? VS Code запрашивает пароль. Я пробовал несколько подходов, но безрезультатно:
- пустой пароль, так как он пуст в jupyter_notebook_config.py SageMaker
- токен как пароль [1]
- Я установил пароль "jupyter notebook password" и перезапустил jupyter "sudo initctl restart jupyter-server --no-wait". Новый пароль оказался эффективным. Я дал VS Code новый пароль с теми же плохими результатами.
VS Code выдает мне такую ошибку:
Не удалось подключиться к удаленному блокноту Jupyter. Проверьте, что в настройке Jupyter Server URI указан допустимый работающий сервер... Ошибка: Не удалось подключиться к защищенному паролем серверу. Проверьте правильность пароля.
Так как мне запустить коды в VS Code на SageMaker? Может быть, есть способ лучше, чем тот, что я пытаюсь сделать?
Спасибо
[1]https://jupyter-notebook.readthedocs.io/en/stable/security.html
решение1
Насколько я понимаю, вы хотите подключить jupyter-lab/notebooks из Sagemaker Studio Lab в VS Code. Я также хочу использовать VS Code для своего проекта, и следующие шаги сработали для меня.
(studiolab) studio-lab-user@default:~$ conda install -y -c conda-forge code-server
(studiolab) studio-lab-user@default:~$ code-server --auth none
- Скопируйте URL-адрес вашей студии-лаборатории и вставьте его в новую вкладку. URL-адрес выглядит такhttps://xxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab/
- Заменитьлабораторияспрокси/8080. URL становитсяhttps://xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/proxy/8080/
- Дайте ему несколько минут (около ~3 минут) для загрузки. Boom VS Code в вашем StudioLab.
Это мой первый вклад в StackExchange. Поставьте лайк, если это поможет.