Я работаю над проектом по объединению обучения с подкреплением с симуляцией светофора с использованием пакета Pybrain. Я прочитал руководство и реализовал свои собственные подклассы Environment
и Task
. Я использую ActionValueNetwork
в качестве контроллера, потому что я хочу, чтобы мое состояние было вектором с непрерывными значениями, чтобы он мог содержать информацию, например, о количестве автомобилей, ожидающих на каждой полосе, общем времени ожидания на полосу и многом другом.
Я установил входные размеры ActionValueNetwork
на размеры моего вектора состояния, что наводит на мысль, что можно использовать векторы в качестве переменных состояния. Когда я использую Q-Learner или SARSA, код сначала работает нормально, но я получаю сообщение об ошибке, как только вызывается метод learn()
. Эта функция содержит строку
state = int(state)
и сообщение об ошибке
TypeError: only length-1 arrays can be converted to Python scalars
что наводит на мысль, что можно использовать только состояния скалярной формы.
Поддерживает ли среда обучения с подкреплением pybrain состояния векторной формы? Если да, как я могу изменить свой код так, чтобы он работал с их реализациями Q-обучения или другими методами?