Невозможно определить пользовательские метрики в Ray

Я использую фреймворк FLOW RL. Это позволяет мне использовать rllib и ray для моего алгоритма RL. Я пытался построить не обучающие данные на тензорной доске. Следуя документации по Ray ( ссылка), я попытался добавить собственные метрики. Поэтому мне нужно использовать info dict, к которому обращаетсяon_episode_step(info). В этом словаре должен присутствовать элемент "эпизод". Это позволяет мне получить доступ к моим пользовательским скалярам. Однако каждый раз, когда я пытаюсь получить доступ к элементу эпизода, я получаю сообщение об ошибке, поскольку его нет в информационном слове. Это нормально?

Файл "examples/rllib/newGreenWaveGrid2.py", строка 295, в on_episode_start Episode = info["episode"] KeyError: 'Episode'

def on_episode_step(info):
    episode = info["episode"]
    whatever = abs(episode.last_observation_for()[2])
    episode.user_data["whatever"].append(whatever)



if __name__ == '__main__':
    alg_run, gym_name, config = setup_exps()
    ray.init(num_cpus=N_CPUS + 1, redirect_output=False)
    trials = run_experiments({
        flow_params['exp_tag']: {
            'run': alg_run,
            'env': gym_name,
            'config': {
                **config,
                'callbacks': {
                    "on_episode_start": on_episode_start,
                    "on_episode_step": on_episode_step,
                    "on_episode_end": on_episode_end,

                }
            },
            'checkpoint_freq': 20,
            'max_failures': 999,
            'stop': {
                'training_iteration': 200,
            },
        },


    })

0 ответов

Другие вопросы по тегам