gpt4 book ai didi

python - Azure ML 包启动的 Tensorboard 无法正常工作

转载 作者:行者123 更新时间:2023-12-03 05:42:32 25 4
gpt4 key购买 nike

我想要访问在训练期间创建并存储在 Azure ML 服务日志中的 tfevent 文件。这个 tfevent 文件可以在普通张量板上正确访问和显示,因此该文件没有损坏,但是当我使用 Azure ML 的张量板库访问它时,本地张量板上什么也没有显示,或者连接被拒绝。

我首先将其登录到 ./logs/tensorboard,就像 Azure ML 具有 ./logs/azureml 一样,但由 Azure ML 模块启动的张量板表示没有文件可以在浏览器上显示,如下所示。

No dashboards are active for the current data set.
Probable causes:

You haven’t written any data to your event files.
TensorBoard can’t find your event files.
If you’re new to using TensorBoard, and want to find out how to add data and set up your event files, check out the README and perhaps the TensorBoard tutorial.
If you think TensorBoard is configured properly, please see the section of the README devoted to missing data problems and consider filing an issue on GitHub.

Last reload: Wed Aug 21 2019 *****
Data location: /tmp/tmpkfj7gswu

所以我认为保存的位置不会被 AML 识别,我将保存位置更改为 ./logs,然后浏览器显示“无法访问此站点。 ****** 拒绝连接。”

我的 Azure ML Python SDK 版本是 1.0.57

1)我该如何解决这个问题?

2) 我应该在哪里保存 tfevent 文件以便 AML 识别它?我在此处的文档中找不到有关它的任何信息。 https://learn.microsoft.com/en-us/python/api/azureml-tensorboard/azureml.tensorboard.tensorboard?view=azure-ml-py

这就是我通过 Azure ML 启动张量板的方式。

if __name__ == "__main__":
parser = argparse.ArgumentParser(
description=f'This script is to lanuch TensorBoard with '
f'accessing run history from machine learning '
f'experiments that output Tensorboard logs')
parser.add_argument('--experiment-name',
dest='experiment_name',
type=str,
help='experiment name in Azure ML')
parser.add_argument('--run-id',
dest='run_id',
type=str,
help='The filename of merged json file.')

args = parser.parse_args()

logger = get_logger(__name__)
logger.info(f'SDK Version: {VERSION}')

workspace = get_workspace()
experiment_name = args.experiment_name
run_id = args.run_id
experiment = get_experiment(experiment_name, workspace, logger)
run = get_run(experiment, run_id)

# The Tensorboard constructor takes an array of runs, so pass it in as a single-element array here
tb = Tensorboard([run])

# If successful, start() returns a string with the URI of the instance.
url = tb.start()
print(url)

最佳答案

AzureML 中 Tensorboard 支持的设计方式如下:

  1. 在 AMLCluster 或连接的虚拟机上训练模型,并将 Tensorboard 日志文件写入 ./logs 目录(有关示例,请参阅 here要运行的脚本)。
from azureml.train.dnn import TensorFlow

script_params = {"--log_dir": "./logs"}

# If you want the run to go longer, set --max-steps to a higher number.
# script_params["--max_steps"] = "5000"

tf_estimator = TensorFlow(source_directory=exp_dir,
compute_target=attached_dsvm_compute,
entry_script='mnist_with_summaries.py',
script_params=script_params)

run = exp.submit(tf_estimator)
  • 在本地计算机或 Notebook VM 上,启动 azureml.tensorboard.Tensorboard 实例,该实例将持续从运行中提取日志并将其写入到本地磁盘。它还将启动一个 Tensorboard 实例,您可以将浏览器指向该实例。
  • tb = Tensorboard(run)
    # If successful, start() returns a string with the URI of the instance.
    tb.start()

    如果在本地计算机上完成,URL 将为 http://localhost:6000 (或您的计算机主机名),在笔记本虚拟机上,URL 的形式为 https://vmname-6000.westeurope.notebooks.azureml.net/

    此处的图表显示了 AzureML 中的运行是如何执行的。 #6 和 #7 是此处的相关点,说明 Tensorboard 日志如何从计算目标传输到运行实际 Tensorboard 的机器。在本例中即为“我的电脑”,但也可能是 NotebookVM。 enter image description here

    关于python - Azure ML 包启动的 Tensorboard 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57589238/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com