Estou usando o SageMaker para testar abordagens de ML. Gostaria de refatorar meus scripts do SageMaker para obter um código mais pronto para produção. Portanto, gostaria de usar o VS Code para refatorar o código e executar o código na instância do SageMaker como antes. VS Code Python permite definir:
Python: especifique o URI do servidor Jupyter
SageMaker fornece AuthorizedUrl executando
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name nome-da-sua-instância
AuthorizedUrl funciona quando eu o abro no navegador anônimo. Por que não funciona com o VS Code? O Código VS pede senha. Tentei várias abordagens sem ajuda:
- senha vazia, pois está vazia no jupyter_notebook_config.py do SageMaker
- token como senha [1]
- Eu defini uma senha "senha do notebook jupyter" e reiniciei o jupyter "sudo initctl restart jupyter-server --no-wait". A nova senha parecia ser eficaz. Forneci a senha recém-criada ao VS Code com os mesmos resultados ruins.
O código VS me dá este erro:
Falha ao conectar ao notebook Jupyter remoto. Verifique se a configuração do URI do servidor Jupyter possui um servidor em execução válido especificado... Erro: falha ao conectar-se ao servidor protegido por senha. Verifique se a senha está correta.
Então, como posso executar códigos no VS Code no SageMaker? Talvez haja uma maneira melhor do que a que estou tentando?
Obrigado
[1]https://jupyter-notebook.readthedocs.io/en/stable/security.html
Responder1
Pelo que entendi, você deseja conectar seu jupyter-lab/notebooks do Sagemaker Studio Lab no VS Code. Também quero usar o VS Code para meu projeto e as etapas abaixo funcionaram para mim.
(studiolab) studio-lab-user@default:~$ conda install -y -c conda-forge code-server
(studiolab) studio-lab-user@default:~$ code-server --auth none
- Copie o URL do laboratório do estúdio e cole-o em uma nova guia. O URL fica assimhttps://xxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab/
- Substitua olaboratóriocomproxy/8080. A URL se tornahttps://xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/proxy/8080/
- Aguarde alguns minutos (cerca de 3 minutos) para carregar. Código Boom VS em seu StudioLab.
Esta é minha primeira contribuição para stackexchange, Upvote se ajudar.