

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon SageMaker Studio Classic 中使用 TensorBoard
<a name="studio-tensorboard"></a>

**重要**  
自 2023 年 11 月 30 日起，先前的 Amazon SageMaker Studio 體驗現在命名為 Amazon SageMaker Studio Classic。下節專門介紹如何使用 Studio Classic 應用程式。如需使用已更新 Studio 體驗的資訊，請參閱 [Amazon SageMaker Studio](studio-updated.md)。  
Studio Classic 仍會針對現有工作負載進行維護，但無法再用於加入。您只能停止或刪除現有的 Studio Classic 應用程式，而且無法建立新的應用程式。建議您[將工作負載遷移至新的 Studio 體驗](studio-updated-migrate.md)。

 下列文件概述如何在 Amazon SageMaker Studio Classic 中安裝和執行 TensorBoard。

**注意**  
本指南說明如何透過個別 SageMaker AI 網域使用者設定檔的 SageMaker Studio Classic 筆記本伺服器開啟 TensorBoard 應用程式。如需與 SageMaker 訓練整合的更全面 TensorBoard 體驗，以及 SageMaker AI 網域的存取控制功能，請參閱[Amazon SageMaker AI 中的 TensorBoard](tensorboard-on-sagemaker.md)。

## 先決條件
<a name="studio-tensorboard-prereq"></a>

本教學課程需要 SageMaker AI 網域。如需更多資訊，請參閱[Amazon SageMaker AI 網域概觀](gs-studio-onboard.md)

## 設定 `TensorBoardCallback`
<a name="studio-tensorboard-setup"></a>

1. 啟動 Studio Classic，然後開啟啟動器。如需詳細資訊，請參閱[使用 Amazon SageMaker Studio Classic 啟動器](studio-launcher.md)

1. 在 Amazon SageMaker Studio Classic 啟動器的 `Notebooks and compute resources` 下，選擇**變更環境**按鈕。

1. 在**變更環境**對話方塊上，使用下拉式清單選取 `TensorFlow 2.6 Python 3.8 CPU Optimized` Studio Classic **映像**。

1. 回到啟動器，按一下**建立筆記本**圖磚。您的筆記本會啟動並在新的 Studio Classic 索引標籤中開啟。

1. 從您的筆記本單元中執行此程式碼。

1. 匯入下列必要的套件。

   ```
   import os
   import datetime
   import tensorflow as tf
   ```

1. 建立一個 Keras 模型。

   ```
   mnist = tf.keras.datasets.mnist
   
   (x_train, y_train),(x_test, y_test) = mnist.load_data()
   x_train, x_test = x_train / 255.0, x_test / 255.0
   
   def create_model():
     return tf.keras.models.Sequential([
       tf.keras.layers.Flatten(input_shape=(28, 28)),
       tf.keras.layers.Dense(512, activation='relu'),
       tf.keras.layers.Dropout(0.2),
       tf.keras.layers.Dense(10, activation='softmax')
     ])
   ```

1. 為您的 TensorBoard 日誌建立目錄

   ```
   LOG_DIR = os.path.join(os.getcwd(), "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
   ```

1. 使用 TensorBoard 進行訓練。

   ```
   model = create_model()
   model.compile(optimizer='adam',
                 loss='sparse_categorical_crossentropy',
                 metrics=['accuracy'])
                 
                 
   tensorboard_callback = tf.keras.callbacks.TensorBoard(log_dir=LOG_DIR, histogram_freq=1)
   
   model.fit(x=x_train,
             y=y_train,
             epochs=5,
             validation_data=(x_test, y_test),
             callbacks=[tensorboard_callback])
   ```

1. 為 TensorBoard 日誌產生 EFS 路徑。您可以使用此路徑從終端設定日誌。

   ```
   EFS_PATH_LOG_DIR = "/".join(LOG_DIR.strip("/").split('/')[1:-1])
   print (EFS_PATH_LOG_DIR)
   ```

   擷取 `EFS_PATH_LOG_DIR`。您可以在 TensorBoard 安裝區段中使用此功能。

## 安裝 TensorBoard
<a name="studio-tensorboard-install"></a>

1. 按下 Studio Classic 左上角的 `Amazon SageMaker Studio Classic` 按鈕開啟 Amazon SageMaker Studio Classic 啟動器。必須從根目錄開啟此啟動器。如需詳細資訊，請參閱[使用 Amazon SageMaker Studio Classic 啟動器](studio-launcher.md)

1. 在啟動器的 `Utilities and files` 下，按一下 `System terminal`。

1. 從終端機輸入以下命令。從 Jupyter 筆記本複製 `EFS_PATH_LOG_DIR`。您可以從 `/home/sagemaker-user` 根目錄執行此作業。

   ```
   pip install tensorboard
   tensorboard --logdir {{<EFS_PATH_LOG_DIR>}}
   ```

## 啟動 TensorBoard
<a name="studio-tensorboard-launch"></a>

1. 若要啟動 TensorBoard，請複製您的 Studio Classic URL 並以 `proxy/6006/` 取代 `lab?`，如下所示。您必須包含結尾的 `/` 字元。

   ```
   https://{{<YOUR_URL>}}.studio.{{region}}.sagemaker.aws/jupyter/default/proxy/6006/
   ```

1. 導覽至 URL 以檢查結果。