11

我正在尝试访问tensorflow_resnet_cifar10_with_tensorboard示例的 Tensorboard,但不确定 url 应该是什么,帮助文本提供了 2 个选项:

您可以通过http://localhost:6006在本地访问 TensorBoard或使用您的 SageMaker 笔记本实例 proxy/6006/(如果忘记将斜杠“/”放在 url 末尾,则 TensorBoard 将无法工作)。如果 TensorBoard 在不同的端口上启动,请调整这些 URL 以匹配。

当它说本地访问时,这是否意味着 Sagemaker 在 AWS 中创建的本地容器?如果是这样,我该如何到达那里?

或者如果我使用run_tensorboard_locally=False,代理 url 应该是什么?

4

4 回答 4

18

这是我的解决方案:

如果我的 sagemaker 笔记本实例的 URL 是:

https://myinstance.notebook.us-east-1.sagemaker.aws/notebooks/image_classify.ipynb

访问 TensorBoard 的 URL 将是:

https://myinstance.notebook.us-east-1.sagemaker.aws/proxy/6006/
于 2018-09-19T03:32:19.287 回答
3

您可以使用链接“proxy/6006”访问笔记本上的 TensorBoard。

如果你设置 run_tensorboard_locally=False 那么它不会启动 TensorBoard。

如果您单击的 URL 显示错误“[Errno 111] Connection denied”,那么似乎培训已经停止。根据https://github.com/aws/sagemaker-python-sdk它“在执行结束时终止 TensorBoard”,因此您似乎只能在训练步骤期间访问它。

于 2018-01-17T11:48:33.833 回答
1

“本地”是指运行 estimator.fit 方法的机器。因此,如果您在 SageMaker 笔记本实例上运行示例笔记本,则 tensorboard 将在该机器上运行。

您引用的文本的“proxy/6006”部分是一个可点击的链接,它将在您的笔记本上显示 TensorBoard。完整的 URL 将是“https://.notebook..sagemaker.aws/proxy/6006/”。

于 2018-01-05T02:53:21.040 回答
0

您可以在此处找到更详细的教程:https ://docs.aws.amazon.com/sagemaker/latest/dg/studio-tensorboard.html

您可以像这样保存日志:

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

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

然后按照以下步骤午餐 Tensorboard:打开一个新的Terminal. 安装 Tensorboard 并启动它(从 Jupyter 笔记本复制 EFS_PATH_LOG_DIR):

pip install tensorboard 
tensorboard --logdir <EFS_PATH_LOG_DIR>

打开张量板: https://<YOUR_Notebook_URL>.studio.region.sagemaker.aws/jupyter/default/proxy/6006/

如果您将日志存储在 S3 中,您可以通过执行以下操作从终端再次启动它:

AWS_REGION=region tensorboard --logdir s3://bucket_name/logs/

然后再次访问相同的网址:https://<YOUR_Notebook_URL>.studio.region.sagemaker.aws/jupyter/default/proxy/6006/

于 2021-08-05T13:43:53.430 回答