首页 > 解决方案 > 如何更改运行Ray的run_experiments()时生成的实验文件路径?

问题描述

我在我的代码中使用以下规范来生成实验:

experiment_spec = {
    "test_experiment": {
        "run": "PPO",
        "env": "MultiTradingEnv-v1",
        "stop": {
            "timesteps_total": 1e6
        },
        "checkpoint_freq": 100,
        "checkpoint_at_end": True,
        "local_dir": '~/Documents/experiment/',
        "config": {
            "lr_schedule": grid_search(LEARNING_RATE_SCHEDULE),
            "num_workers": 3,
            'observation_filter': 'MeanStdFilter',
            'vf_share_layers': True,
            "env_config": {
            },
        }
    }
}
ray.init()
run_experiments(experiments=experiment_spec)

请注意,我曾经grid_search尝试过各种学习率。问题"lr_schedule"定义为:

LEARNING_RATE_SCHEDULE = [
    [
        [0, 7e-5], # [timestep, lr]
        [1e6, 7e-6],
    ],
    [
        [0, 6e-5],
        [1e6, 6e-6],
    ]
]

因此,当生成实验检查点时,它的路径名中有很多内容[,使解释器无法读取路径。像这样:

~/Documents/experiment/PPO_MultiTradingEnv-v1_0_lr_schedule=[[0, 7e-05], [3500000.0, 7e-06]]_2019-08-14_20-10-100qrtxrjm/checkpoint_40

逻辑解决方案是手动重命名它,但我发现它的名称在其他文件中引用,如experiment_state.json,因此最好的解决方案是设置自定义实验路径和名称。

我在文档中没有找到任何东西。

如果有帮助,这是我的项目

有人可以帮忙吗?

提前致谢

标签: ray

解决方案


您可以设置自定义试用名称 - https://ray.readthedocs.io/en/latest/tune-usage.html#custom-trial-names。让我知道这是否适合你。


推荐阅读