如何更改运行 Ray的run_experiments()时生成的实验文件路径?

How to change the experiment file path generated when running Ray's 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,所以最好的解决方案是设置自定义实验路径和名称。

我没有在文档中找到任何内容。

This是我的项目如果有帮助的话

有人可以帮忙吗?

提前致谢

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