amazon-web-services - 如何使用 Amazon Sagemaker 上的自定义 docker 容器创建超参数调整作业?

标签 amazon-web-services docker amazon-sagemaker

我创建了一个自定义 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 上的自定义容器创建超参数调整?

最佳答案

在为自定义容器创建估算器时,您需要指定将传入的超参数。例如,在 Catboost 训练脚本中,您有不同的参数可以表示不同的超参数 enter image description here
您可以添加更多参数,例如纪元、学习率和您将要调整的其他超参数。然后,您需要添加这些超参数并将它们放入您使用容器创建的 Estimator 中,类似于如下所示。
enter image description here
将容器推送到 ECR 后,您将需要使用超参数调整作业定义 JSON,如下图所示。
enter image description here
然后,您可以定义训练和调优作业,并通过 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 工作,我的意见是我自己的

关于amazon-web-services - 如何使用 Amazon Sagemaker 上的自定义 docker 容器创建超参数调整作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65545350/

相关文章:

ios - 发电机 : Decrement/Subtract a key/value

ubuntu - Ubuntu下docker + ufw的最佳实践是什么

tensorflow - 将 SageMaker 管道模式与 tfrecords 的 s3 目录一起使用

python-3.x - SageMaker 脚本模式服务

docker - 如何让 docker 容器从/etc/motd 加载文本

amazon-web-services - 我可以在 Sagemaker 笔记本上运行 TensorFlow 2.0 吗?

java - 尝试使用匿名凭证从 AWS S3 中列出对象,但它仍在检查 ~/.aws/credentials

amazon-web-services - kubernetes:kops 和 IAMFullAccess 策略

amazon-web-services - 如何在使用 EMR/Hive 将数据从 S3 导入 DynamoDB 时处理引号 (CSV) 中的字段

java - 在 docker 中与 tomcat 开战