在 Amazon SageMaker Studio 中使用 TensorBoard
以下文档概述了如何在 Amazon SageMaker Studio 中安装和运行 TensorBoard。
注意
本指南介绍如何通过单个 SageMaker 域用户配置文件的 SageMaker Studio 笔记本服务器打开 TensorBoard 应用程序。要获得与 SageMaker Training 和 SageMaker 域访问控制功能集成的更全面的 TensorBoard 体验,请参阅 在 Amazon SageMaker 中使用 TensorBoard 调试和分析训练作业。
先决条件
本教程需要一个 Amazon SageMaker Studio 域。有关更多信息,请参阅 加入 Amazon SageMaker 域。
设置 TensorBoardCallback
-
启动 Studio,然后打开启动程序。有关更多信息,请参阅 使用 Amazon SageMaker Studio 启动程序。
-
在 Amazon SageMaker Studio 启动程序的
Notebooks and compute resources
下,选择更改环境按钮。 -
在更改环境对话框中,使用下拉菜单选择
TensorFlow 2.3 Python 3.7(optimized for CPU)
Studio 映像。 -
返回启动程序,单击创建笔记本图块。您的笔记本将在新的 Studio 选项卡中启动并打开。
-
在笔记本单元格中运行此代码。
-
导入所需的软件包。
import os import datetime import tensorflow as tf
-
创建一个 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') ])
-
为 TensorBoard 日志创建目录
LOG_DIR = os.path.join(os.getcwd(), "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
-
使用 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])
-
为 TensorBoard 日志生成 EFS 路径。您可以使用此路径从终端设置日志。
EFS_PATH_LOG_DIR = "/".join(LOG_DIR.strip("/").split('/')[1:-1]) print (EFS_PATH_LOG_DIR)
检索
EFS_PATH_LOG_DIR
。您将在 TensorBoard 安装部分需要它。
安装 TensorBoard
-
单击 Studio 左上角的
Amazon SageMaker Studio
按钮以打开 Amazon SageMaker Studio 启动程序。必须从您的根目录打开此启动程序。有关更多信息,请参阅 使用 Amazon SageMaker Studio 启动程序。 -
在启动程序的
Utilities and files
下,单击System terminal
。 -
从终端运行以下命令。从 Jupyter 笔记本复制
EFS_PATH_LOG_DIR
。必须在/home/sagemaker-user
根目录下运行。pip install tensorboard tensorboard --logdir
<EFS_PATH_LOG_DIR>
启动 TensorBoard
-
要启动 TensorBoard,请复制 Studio URL 并将
lab?
替换为proxy/6006/
,如下所示。必须包含/
尾随字符。https://
<YOUR_URL>
.studio.region.sagemaker.aws/jupyter/default/proxy/6006/ -
导航到 URL 以检查结果。