首页 > 解决方案 > 在光线中使用 track.log

问题描述

在 ray 中,track.init必须在调用之前完成track.log。但是,如果我track.log在定义演员的函数之外做,它会给我错误,抱怨没有找到跟踪会话。但是,如果我执行以下操作,我将为每个超参数值创建一个跟踪会话。下面的声音是否正确(对我来说看起来不太好,因为我们正在为每个 track.log 创建一个跟踪会话)

def train(config, reporter=None):
    track.init('track_session')
    track.log(acc=acc)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--redis-address")
    args = parser.parse_args()
    ray.init(redis_address=args.redis_address)
    config = {
        "l1": ray.tune.grid_search([0.001, 0.01, 0.1]),
    }
    ray.tune.run(train, config=config)

标签: ray

解决方案


尝试这个:

def train(config):
    acc = 0
    track.log(acc=acc)

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    parser.add_argument("--redis-address")
    args = parser.parse_args()
    ray.init(redis_address=args.redis_address)
    config = {
        "l1": ray.tune.grid_search([0.001, 0.01, 0.1]),
    }
    ray.tune.run(train, config=config)

推荐阅读