Öffnen Sie TensorBoard mit dem Modul sagemaker.interactive_apps.tensorboard
Das sagemaker.interactive_apps.tensorboard-Modul bietet eine aufgerufene Funktion namens get_app_url, die unsignierte oder vorsignierte URLs generiert, um die TensorBoard-Anwendung in einer beliebigen Umgebung in SageMaker AI oder Amazon EC2 zu öffnen. Damit soll eine einheitliche Erfahrung für Benutzer und Nicht-Benutzer von Studio Classic geschaffen werden. In der Studio-Umgebung können Sie TensorBoard öffnen, indem Sie die get_app_url() Funktion unverändert ausführen, oder Sie können auch einen Auftragnamen angeben, um die Verfolgung zu starten, wenn die TensorBoard-Anwendung geöffnet wird. In Umgebungen außerhalb von Studio Classic können Sie TensorBoard öffnen, indem Sie Informationen zu Ihrer Domain und Ihrem Benutzerprofil für die Utility-Funktion bereitstellen. Mit dieser Funktion können Sie unabhängig davon, wo oder wie Sie Trainingscode ausführen und Trainingsjobs starten, direkt auf TensorBoard zugreifen, indem Sie die get_app_url Funktion in Ihrem Jupyter Notebook oder Terminal ausführen.
Anmerkung
Diese Funktionalität ist im SageMaker Python SDK v2.184.0 und höher verfügbar. Um diese Funktionalität nutzen zu können, stellen Sie sicher, dass Sie das SDK aktualisieren, indem Sie pip
install sagemaker --upgrade ausführen.
Themen
Option 1: Für SageMaker AI Studio Classic
Wenn Sie SageMaker Studio Classic verwenden, können Sie die TensorBoard-Anwendung direkt öffnen oder eine unsignierte URL abrufen, indem Sie die Funktion get_app_url wie folgt ausführen. Da Sie sich bereits in der Studio-Classic-Umgebung befinden und als Domain-Benutzer angemeldet sind, wird eine unsignierte URL durch get_app_url() generiert, da eine erneute Authentifizierung nicht erforderlich ist.
Um die TensorBoard-Anwendung zu öffnen
Der folgende Code öffnet die TensorBoard-Anwendung automatisch über die unsignierte URL, die die get_app_url() Funktion im Standard-Webbrowser Ihrer Umgebung zurückgibt.
from sagemaker.interactive_apps import tensorboard region = "us-west-2" app = tensorboard.TensorBoardApp(region) app.get_app_url( training_job_name="your-training_job_name" # Optional. Specify the job name to track a specific training job )
Um eine unsignierte URL abzurufen und die TensorBoard-Anwendung manuell zu öffnen
Der folgende Code druckt eine unsignierte URL, die Sie in einen Webbrowser kopieren und die TensorBoard-Anwendung öffnen können.
from sagemaker.interactive_apps import tensorboard region = "us-west-2" app = tensorboard.TensorBoardApp(region) print("Navigate to the following URL:") print( app.get_app_url( training_job_name="your-training_job_name", # Optional. Specify the name of the job to track. open_in_default_web_browser=False# Set to False to print the URL to terminal. ) )
Beachten Sie, dass die Funktion, wenn Sie die beiden vorherigen Codebeispiele außerhalb der Umgebung von SageMaker AI Studio Classic ausführen, eine URL zur TensorBoard-Landingpage in der SageMaker-AI-Konsole zurückgibt, da diese keine Anmeldeinformationen für Ihre Domain und Ihr Benutzerprofil enthält. Informationen zum Erstellen einer vorsignierten URL finden Sie unter Option 2 im folgenden Abschnitt.
Option 2: Für Umgebungen außerhalb von Studio Classic
Wenn Sie Umgebungen außerhalb von Studio Classic verwenden, wie z. B. die SageMaker-Notebook-Instance oder Amazon EC2, und TensorBoard direkt von der Umgebung aus öffnen möchten, in der Sie sich befinden, müssen Sie eine URL generieren, die mit Ihrer Domain und Ihren Benutzerprofilinformationen vorsigniert ist. Eine vorsignierte URL ist eine bei Amazon SageMaker Studio Classic angemeldete URL, die mit Ihrer Domain und Ihrem Benutzerprofil erstellt wird und daher Zugriff auf alle mit Ihrer Domain verknüpften Anwendungen und Dateien erhält. Um TensorBoard über eine vorsignierte URL zu öffnen, verwenden Sie die get_app_url-Funktion mit Ihrer Domain und Ihrem Benutzerprofilnamen wie folgt.
Beachten Sie, dass für diese Option der Domain-Benutzer über die entsprechende sagemaker:CreatePresignedDomainUrl-Berechtigung verfügen muss. Ohne die Erlaubnis erhält der Domain-Benutzer einen Ausnahmefehler.
Wichtig
Geben Sie keine vorsignierten URLs weiter. Die get_app_url-Funktion erstellt vorsignierte URLs, die sich automatisch mit Ihrer Domain und Ihrem Benutzerprofil authentifizieren und Zugriff auf alle Anwendungen und Dateien gewähren, die mit Ihrer Domain verknüpft sind.
print( app.get_app_url( training_job_name="your-training_job_name", # Optional. Specify the name of the job to track. create_presigned_domain_url=True, # Reguired to be set to True for creating a presigned URL. domain_id="your-domain-id", # Required if creating a presigned URL (create_presigned_domain_url=True). user_profile_name="your-user-profile-name", # Required if creating a presigned URL (create_presigned_domain_url=True). open_in_default_web_browser=False, # Optional. Set to False to print the URL to terminal. optional_create_presigned_url_kwargs={} # Optional. Add any additional args for Boto3 create_presigned_domain_url ) )
Tipp
Die get_app_url Funktion führt die SageMaker.Client.create_presigned_domain_urlcreate_presigned_domain_url-API vorsignierte Domain-URLs erstellt, die standardmäßig in 300 Sekunden ablaufen, laufen auch vorsignierte TensorBoard-Anwendungs-URLs in 300 Sekunden ab. Wenn Sie die Ablaufzeit verlängern möchten, übergeben Sie das ExpiresInSeconds-Argument wie folgt an das optional_create_presigned_url_kwargs-Argument der Funktionget_app_url.
optional_create_presigned_url_kwargs={"ExpiresInSeconds":1500}
Anmerkung
Wenn eine Ihrer an die Argumente von get_app_url übergebenen Eingaben ungültig ist, gibt die Funktion eine URL zur TensorBoard-Landingpage aus, anstatt die TensorBoard-Anwendung zu öffnen. Die Ausgabemeldung würde in etwa wie folgt aussehen.
Navigate to the following URL: https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/tensor-board-landing