【问题标题】:Model output folder in sagemakersagemaker 中的模型输出文件夹
【发布时间】:2021-01-27 06:27:49
【问题描述】:

我正在尝试使用 sagemaker sdk 进行培训工作。 我将base_job_name 设置为base-job-name 并将model_dir 设置为s3://my-bucket/model-output/,但是经过训练的模型位于s3://my-bucket/model-output/base-job-name-2020-10-12-21-30-42-748/output。 我可以做些什么来从base-job-name 文件夹中删除日期时间部分吗?因此覆盖文件是完全可以的。 我似乎无法在文档中找到任何可以帮助我设置它的属性。 这就是我创建估算器的方式

estimator = TensorFlow(
    base_job_name='base-job-name',
    entry_point='model.py',
    source_dir=source_dir,
    output_path='s3://my-bucket/model-output/',
    model_dir='s3://my-bucket/model-output/',
    instance_type='ml.m5.large',
    instance_count=1,
    role=my_role,
    framework_version='2.2.0',
    py_version='py37',
    subnets=subnets,
    security_group_ids=security_group_ids,
    sagemaker_session=sagemaker_sess,
    tags=tags
)

【问题讨论】:

    标签: amazon-sagemaker


    【解决方案1】:

    您无法从输出名称中删除日期和时间戳。这样做的原因是,如果您运行估算器代码,然后对其调用 .fit() 函数超过 1 次,您将覆盖输出模型数据、事件数据等。

    【讨论】:

    • 这是有道理的。有没有办法,我们可以控制这种行为?就像覆盖输出模型数据不是问题一样,相反,对于新模型,我可能不得不手动删除旧模型工件以减少存储量。
    • 如果您真的很想修改这种行为,您可以创建一个 sagemaker python-sdk 的分支,然后创建一个使用该分支的 sagemaker 笔记本实例。虽然我怀疑这值得你花时间。
    • 是的,我只是好奇我是否遗漏了什么以及是否有更快更简单的方法来实现这一点
    • 对不起,我很确定没有办法。虽然,您可以设置保存数据的文件夹,并在每次运行新的培训课程时更改它。请参阅 EstimatorBase:sagemaker.readthedocs.io/en/stable/api/training/estimators.html 更具体地说,“output_path”参数可用于完成此操作。这不是您正在寻找的东西,但如果没有其他选择,这是一种可能的解决方法。
    猜你喜欢
    • 1970-01-01
    • 2021-02-09
    • 2020-05-25
    • 2022-12-22
    • 2018-12-05
    • 1970-01-01
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    相关资源
    最近更新 更多