Wie verbinde ich ein SageMaker-Notebook von VS Code aus?

Wie verbinde ich ein SageMaker-Notebook von VS Code aus?

Ich verwende SageMaker, um ML-Ansätze zu testen. Ich möchte meine SageMaker-Skripte in Richtung produktionsreiferen Code umgestalten. Daher möchte ich VS Code verwenden, um Code umzugestalten und Code wie bisher auf der SageMaker-Instanz auszuführen. Mit VS Code Python können Sie Folgendes definieren:

Python: Jupyter-Server-URI angeben

SageMaker gibt Ihnen AuthorizedUrl durch Ausführen

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name Ihr Instanzname

AuthorizedUrl funktioniert, wenn ich es im Inkognito-Browser öffne. Warum funktioniert es nicht mit VS Code? VS Code verlangt ein Passwort. Ich habe mehrere Ansätze ausprobiert, aber nichts hat geholfen:

  1. leeres Passwort, da es in SageMakers jupyter_notebook_config.py leer ist
  2. Token als Passwort [1]
  3. Ich habe ein Passwort „jupyter notebook password“ festgelegt und Jupyter neu gestartet „sudo initctl restart jupyter-server --no-wait“. Das neue Passwort schien zu funktionieren. Ich habe VS Code das neu erstellte Passwort gegeben, mit den gleichen schlechten Ergebnissen.

VS Code gibt mir diesen Fehler aus:

Verbindung zum Remote-Jupyter-Notebook konnte nicht hergestellt werden. Überprüfen Sie, ob in der URI-Einstellung des Jupyter-Servers ein gültiger laufender Server angegeben ist ... Fehler: Verbindung zum kennwortgeschützten Server konnte nicht hergestellt werden. Überprüfen Sie, ob das Kennwort korrekt ist.

Wie kann ich also Codes in VS Code auf SageMaker ausführen? Vielleicht gibt es einen besseren Weg als den, den ich versuche?

Danke

[1]https://jupyter-notebook.readthedocs.io/en/stable/security.html

Antwort1

So wie ich es verstehe, möchten Sie Ihr Jupyter-Lab/Ihre Notebooks von Sagemaker Studio Lab in VS Code verbinden. Ich möchte VS Code auch für mein Projekt verwenden und die folgenden Schritte haben bei mir funktioniert.

  1. (studiolab) studio-lab-user@default:~$ conda install -y -c conda-forge code-server
  2. (studiolab) studio-lab-user@default:~$ code-server --auth none
  3. Kopieren Sie die URL Ihres Studio Labs und fügen Sie sie in einen neuen Tab ein. Die URL sieht so aushttps://xxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/lab/
  4. Ersetze dasLabormitProxy/8080Die URL wirdhttps://xxxxxxxxxxxx.studio.us-east-2.sagemaker.aws/studiolab/default/jupyter/proxy/8080/
  5. Warten Sie ein paar Minuten (ca. 3 Minuten) zum Laden. Boom VS Code in Ihrem StudioLab.

Dies ist mein erster Beitrag zu Stackexchange. Geben Sie ein Upvote, wenn es hilft.

verwandte Informationen