【问题标题】:How to create hyperparameter tuning job with custom docker container on Amazon Sagemaker?如何在 Amazon Sagemaker 上使用自定义 docker 容器创建超参数调整作业?
【发布时间】:2021-01-02 23:51:32
【问题描述】:

我创建了一个自定义 docker 容器来在 Amazon Sagemaker 上运行 Catboost,并遵循了这个演示 (https://github.com/aws-samples/sagemaker-byo-catboost-container-demo/blob/master/Catboost_container_for_SageMaker.ipynb)。我现在想使用此自定义容器进行超参数调整,但这不是内置或预构建的 Sagemaker 容器,因此我不确定是否可以或如何使用自定义容器在 Sagemaker 上创建超参数调整作业。我没有找到任何关于使用自定义 docker 容器进行 HYT 的官方文档或官方示例。

所以我的问题是:如何使用 Amazon Sagemaker 上的自定义容器创建超参数调整?

【问题讨论】:

    标签: amazon-web-services docker amazon-sagemaker


    【解决方案1】:

    在为您的自定义容器创建估算器时,您需要指定要传入的超参数。例如,在 Catboost 训练脚本中,您有不同的参数可以表示不同的超参数

    您可以添加更多参数,例如时期、学习率和您将要调整的其他超参数。然后,您需要添加这些超参数并将它们放入您正在使用您的容器创建的 Estimator 中,如下所示。

    将容器推送到 ECR 后,您需要使用超参数调整作业定义 JSON,如下图所述。

    然后您可以定义您的训练和调优作业,并通过 SM Tuning Job API 调用它们

    smclient.create_hyper_parameter_tuning_job(
        HyperParameterTuningJobName=tuning_job_name,
        HyperParameterTuningJobConfig=tuning_job_config,
        TrainingJobDefinition=training_job_definition,
    )
    

    有关使用自定义 Keras/TensorFlow 容器进行调优和训练的端到端示例,请查看以下文档以供参考。

    https://sagemaker-examples.readthedocs.io/en/latest/hyperparameter_tuning/keras_bring_your_own/hpo_bring_your_own_keras_container.html

    我为 AWS 工作,我的意见是我自己的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-19
      • 2021-04-05
      • 1970-01-01
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-02-11
      • 1970-01-01
      相关资源
      最近更新 更多