返回介绍

1.5.6.3 自动超参数调优

发布于 2020-10-01 16:39:38 字数 3386 浏览 925 评论 0 收藏 0

简介

超参数自动调优是Xiaomi Cloud-ML的功能,可以一次定义多组超参数组合,提交后并行进行训练,并返回效果最优的超参数组合。

代码规范

用户可自定义“效果最优”的指标,需要在TensorFlow模型代码中把指标写到 training/hptuning/metric 中,如下。

tf.summary.scalar("training/hptuning/metric", loss)

使用示例

我们可以使用samples中的代码示例,提交时把超参数等参数写到 job.json 文件中。

{
  "job_name": "hpat",
  "module_name": "trainer.task",
  "trainer_uri": "fds://cloud-ml/linear/trainer-1.0.tar.gz",
  "job_args": "--max_epochs 1000",
  "cpu_limit": "0.25",
  "memory_limit": "250M",
  "hyperparameters": {
    "goal": "MINIMIZE",
    "output_path": "fds://cloud-ml/linear/linear_hpat",
    "params": [
      {"optimizer": "ftrl", "learning_rate": 0.1},
      {"optimizer": "ftrl", "learning_rate": 0.5},
      {"optimizer": "sgd", "learning_rate": 0.1},
      {"optimizer": "sgd", "learning_rate": 0.5}
    ]
  }
}

然后使用 cloudml 命令行工具提交即可,由于我们需要定义超参数组合这是必须传入JSON文件作为参数。

cloudml jobs submit -f job.json

训练结束后,我们可以通过命令行查看任意一个任务的结果,系统可以自动选择效果最优的超参数组合返回给用户。

cloudml jobs list

cloudml jobs logs hpat-hp-0

cloudml jobs hp hpat-hp-0

参数介绍

  • -f 是可选参数,用户可以使用JSON文件来描述提交任务的参数,注意不可以和其他参数混用。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文