Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在AWS Sagemaker中使用张力板_Amazon Web Services_Amazon S3_Tensorflow2.0_Tensorboard_Amazon Sagemaker - Fatal编程技术网

Amazon web services 如何在AWS Sagemaker中使用张力板

Amazon web services 如何在AWS Sagemaker中使用张力板,amazon-web-services,amazon-s3,tensorflow2.0,tensorboard,amazon-sagemaker,Amazon Web Services,Amazon S3,Tensorflow2.0,Tensorboard,Amazon Sagemaker,我指的是在Sagemaker脚本模式方法中使用Tensorboard的以下链接。 estimator = TensorFlow( entry_point='Script_File.py', train_instance_type=train_instance_type, train_instance_count=1, model_dir=model_dir, hyperparameters=hyperparameters, role=sagemak

我指的是在Sagemaker脚本模式方法中使用Tensorboard的以下链接。

estimator = TensorFlow(
    entry_point='Script_File.py',
    train_instance_type=train_instance_type,
    train_instance_count=1,
    model_dir=model_dir,
    hyperparameters=hyperparameters,
    role=sagemaker.get_execution_role(),
    base_job_name='tf-fashion-mnist',
    framework_version='1.12.0', 
    py_version='py3',
    output_path=<S3 Path>,
    script_mode=True,
)
estimator.fit(inputs)
tensorboard --logdir logs/fit

下面是我的训练脚本中的tensorboard回调,它是一个.py文件

model = create_model()
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
log_dir = "logs/fit/" + datetime.datetime.now().strftime("%Y%m%d-%H%M%S")
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])
在笔记本中,我正在创建下面的Tensorflow估计器,并将上面的脚本文件名作为入口点传递。

estimator = TensorFlow(
    entry_point='Script_File.py',
    train_instance_type=train_instance_type,
    train_instance_count=1,
    model_dir=model_dir,
    hyperparameters=hyperparameters,
    role=sagemaker.get_execution_role(),
    base_job_name='tf-fashion-mnist',
    framework_version='1.12.0', 
    py_version='py3',
    output_path=<S3 Path>,
    script_mode=True,
)
estimator.fit(inputs)
tensorboard --logdir logs/fit
培训完成后,我将在终端中使用以下代码(我也在笔记本电脑中尝试过)启动tensorboard。

estimator = TensorFlow(
    entry_point='Script_File.py',
    train_instance_type=train_instance_type,
    train_instance_count=1,
    model_dir=model_dir,
    hyperparameters=hyperparameters,
    role=sagemaker.get_execution_role(),
    base_job_name='tf-fashion-mnist',
    framework_version='1.12.0', 
    py_version='py3',
    output_path=<S3 Path>,
    script_mode=True,
)
estimator.fit(inputs)
tensorboard --logdir logs/fit
但在张力板上,我看不到任何图表。它显示消息“无法获取运行”。
有什么我遗漏的吗?或者我必须在脚本中进行任何额外设置才能在Tensorboard中查看日志吗?

您的Tensorboard
logdir
不是
logs/fit
。。但有当前日期的附加。尝试使用
logs/fit
作为
log\u dir
查看它是否工作

编辑

如果您想在本地使用tensorboard,您必须将tensorboard日志发送到S3并从那里读取。为了做到这一点,您必须执行第三个链接示例所做的操作,因此包括sagemaker调试器:

从sagemaker.debugger导入TensorBoardOutputConfig

tensorboard_输出_配置=TensorboardOutput配置( s3_output_path='s3://path/for/tensorboard/data/emission', 容器\本地\输出\路径='/local/path/for/tensorboard/data/emission' )

然后,tensorboard命令将类似于:

AWS\u区域=AWS\u日志\u级别=3张板--logdir s3://path/for/tensorboard/data/emission

或者,如果您想在笔记本中使用tensorboard,您必须执行第二个链接示例所做的操作,因此只需在单元格中安装tensorboard并运行tensorboard,如下所示:


https:///proxy/6006/

谢谢您的回复@rok。我试图给出“log_dir”,但仍然面临相同的问题。请澄清您在哪里启动tensorboard?您的培训代码在哪里运行?那是笔记本吗?请发布开始培训作业的代码。我的培训代码是一个.py脚本(因为我使用的是脚本模式),我将其存储在与笔记本相同的文件夹中。此脚本中的培训代码如上所示。请参考更新后的问题,获取开始培训工作的代码。我编辑了我的回答,请看。基本上,你有两种选择可以在本地使用tensorboard(指向s3存储桶)或在笔记本中使用tensorboard。谢谢你的回复。这两种方法我都试过了。尽管在使用这两种方法时(在S3 bucket和local path中),我可以看到一些事件文件,但Tensorboard中没有显示任何内容。我得到的错误是“无法获取运行”。