

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# `sagemaker.interactive_apps.tensorboard` モジュールを使用して TensorBoard を開く
<a name="debugger-htb-access-tb-url"></a>

`sagemaker.interactive_apps.tensorboard` モジュールには、SageMaker AI または Amazon EC2 の任意の環境で TensorBoard アプリケーションを開くための署名なし URL または署名済み URL を生成する `get_app_url` と呼ばれる関数が用意されています。これは Studio Classic ユーザーと Studio Classic 以外のユーザーの両方に統一されたエクスペリエンスを提供するためです。Studio 環境では、`get_app_url()` 関数をそのまま実行して TensorBoard を開くことも、TensorBoard アプリケーションが開くときに追跡を開始するジョブ名を指定することもできます。Studio Classic 以外の環境では、ドメインとユーザープロファイルの情報をユーティリティ関数に提供することで TensorBoard を開くことができます。この機能を使用すると、トレーニングコードを実行してトレーニングジョブを起動する場所や方法に関係なく、Jupyter Notebook またはターミナルで `get_app_url` 関数を実行することで TensorBoard に直接アクセスできます。

**注記**  
この機能は、SageMaker Python SDK v2.184.0 以降で利用できます。この機能を使用するには、必ず `pip install sagemaker --upgrade` を実行して SDK をアップグレードしてください。

**Topics**
+ [オプション 1: SageMaker AI Studio Classic の場合](#debugger-htb-access-tb-url-unsigned)
+ [オプション 2: Studio Classic 以外の環境の場合](#debugger-htb-access-tb-url-presigned)

## オプション 1: SageMaker AI Studio Classic の場合
<a name="debugger-htb-access-tb-url-unsigned"></a>

SageMaker Studio Classic を使用している場合は、TensorBoard アプリケーションを直接開くか、次のように `get_app_url` 関数を実行して署名なし URL を取得できます。既に Studio Classic 環境内で、ドメインユーザーとしてサインインしている場合、再認証する必要がないため `get_app_url()` は署名なし URL を生成します。

**TensorBoard アプリケーションを開くには** 

次のコードは、お使いの環境のデフォルトウェブブラウザで `get_app_url()` 関数が返す署名なし URL から TensorBoard アプリケーションを自動的に開きます。

```
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 
)
```

**署名なし URL を取得して TensorBoard アプリケーションを手動で開くには**

次のコードは、ウェブブラウザにコピーして TensorBoard アプリケーションを開くことができる署名なし URL を出力します。

```
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.
    )
)
```

上記の 2 つのコードサンプルを SageMaker AI Studio Classic 環境の外部で実行すると、ドメインとユーザープロファイルへのサインイン情報が含まれていないため、関数は SageMaker AI コンソールの TensorBoard ランディングページの URL を返すことに注意してください。署名済み URL の作成については、次のセクションのオプション 2 を参照してください。

## オプション 2: Studio Classic 以外の環境の場合
<a name="debugger-htb-access-tb-url-presigned"></a>

SageMaker ノートブックインスタンスや Amazon EC2 などの Studio Classic 以外の環境を使用していて、現在の環境から TensorBoard を直接開く場合は、ドメインとユーザープロファイル情報があらかじめ署名された URL を生成する必要があります。*署名済み* URL は、ドメインとユーザープロファイルを使用して URL を作成する際に Amazon SageMaker Studio Classic にサインインする URL です。これにより、ドメインに関連付けられているすべてのドメインアプリケーションとファイルへのアクセスが許可されます。署名済み URL から TensorBoard を開くには、以下のようにドメイン名とユーザープロファイル名を指定して `get_app_url` 関数を使用します。

このオプションでは、ドメインユーザーに `sagemaker:CreatePresignedDomainUrl` アクセス許可が必要であることに注意してください。このアクセス許可がないと、ドメインユーザーには例外エラーが表示されます。

**重要**  
署名済み URL は共有しないでください。`get_app_url` 関数は署名済み URL を作成します。これにより、ドメインとユーザープロファイルで自動的に認証され、ドメインに関連するすべてのアプリケーションやファイルにアクセスできるようになります。

```
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
    )
)
```

**ヒント**  
`get_app_url` 関数は、バックエンドの AWS SDK for Python (Boto3) で [https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_presigned_domain_url.html) API を実行します。Boto3 `create_presigned_domain_url` API はデフォルトで 300 秒で有効期限が切れる署名済みドメイン URL を作成するので、署名済み TensorBoard アプリケーション URL も 300 秒で期限切れになります。有効期限を延長したい場合は、以下のように `optional_create_presigned_url_kwargs` 引数を `ExpiresInSeconds` 関数の `get_app_url` 引数に渡します。  

```
optional_create_presigned_url_kwargs={"ExpiresInSeconds": 1500}
```

**注記**  
`get_app_url` の引数に渡された入力のいずれかが無効な場合、関数は TensorBoard アプリケーションを開く代わりに TensorBoard ランディングページの URL を出力します。出力メッセージは次のようになります。  

```
Navigate to the following URL:
https://us-west-2.console.aws.amazon.com/sagemaker/home?region=us-west-2#/tensor-board-landing
```