【发布时间】:2019-03-10 19:09:23
【问题描述】:
我正在尝试复制link 报告的超参数调整示例,但我想在我的训练应用程序中使用 scikit learn XGBoost 而不是 tensorflow。
我可以在单个作业中针对每个超参数组合运行多个试验。但是,ML-Engine 返回的 Training 输出对象不包含 finalMetric 字段,报告指标信息(参见下图的差异)。
我从上面的链接示例中得到了什么: Training output object with Tensorflow training app
使用 XGBoost 运行我的 Training 应用程序得到的结果: Training output object with XGBoost training app
XGBoost 有没有办法将训练指标返回给 ML-Engine?
似乎这个过程对于 tensorflow 是自动化的,如文档中所述:
Cloud ML Engine 如何获取您的指标
您可能会注意到本文档中没有说明 用于将您的超参数指标传递给 Cloud ML Engine 训练 服务。那是因为该服务监控 TensorFlow 摘要事件 由您的训练应用程序生成并检索指标。
XGBoost 有类似的机制吗?
现在,我总是可以在每次试验结束时将每个指标结果转储到一个文件中,然后手动分析它们以选择最佳参数。但是,这样做是否会失去 Cloud ML Engine 提供的自动化机制,尤其是关于“ALGORITHM_UNSPECIFIED”超参数搜索算法?
即,
ALGORITHM_UNSPECIFIED:[...] 将贝叶斯优化应用于搜索 可能的超参数值的空间,导致最 对您的一组超参数有效的技术。
【问题讨论】:
标签: scikit-learn google-cloud-platform xgboost google-cloud-ml