我以前用过Scikit Learn的GridSearchCv来优化我的模型的超参数,但是我想知道是否存在类似的工具来优化张量流的超参数(例如时间段数、学习速率、滑动窗口大小等)。
如果不是,我如何实现有效地运行所有不同组合的代码片段?

最佳答案

使用TensorFlow进行网格搜索的另一个可行(并记录在案)选项是Ray Tune。它是一个可扩展的超参数调优框架,专门用于深度学习/强化学习。
你可以试试a fast tutorial here
它还处理了大约10行python中的tensorboard日志记录和有效的搜索算法(例如,HyperOpt集成和HyperBand)。

import ray
from ray import tune

def train_tf_model(config, tune_reporter):  # 1 new arg for reporting results
    # ... train here ....
    # ... train here ....
    # ... train here ....
    pass

ray.init()

tune.run(train_tf_model,
         stop={ "mean_accuracy": 100 },
         config={
            "alpha": tune.grid_search([0.2, 0.4, 0.6]),
            "beta": tune.grid_search([1, 2]),
         })

(免责声明:我积极参与这个项目!)

08-24 20:53