1

저는 Pybrain 패키지를 사용하여 강화 학습과 교통 신호 시뮬레이션을 결합하는 프로젝트를 진행하고 있습니다. 자습서를 읽고 EnvironmentTask이라는 고유 한 서브 클래스를 구현했습니다. 예를 들어 각 차선에서 대기하는 차의 수, 차선 당 총 대기 시간 등과 같은 정보를 포함 할 수 있도록 연속 된 값을 가진 벡터로 내 상태를 원하기 때문에 컨트롤러로 ActionValueNetwork을 사용하고 있습니다.Pybrain reinforcement learning; 차원의 차원

ActionValueNetwork의 입력 크기를 내 상태 벡터의 크기로 설정 했으므로 벡터를 상태 변수로 사용할 수 있습니다. Q-learner 또는 SARSA 학습자를 사용할 때 처음에는 코드가 제대로 실행되지만 learn() 메서드가 호출 되 자마자 오류 메시지가 나타납니다. 이 기능은 라인

state = int(state) 

를 포함하고 오류 메시지가 스칼라 모양의 상태를 사용할 수있는 제안

TypeError: only length-1 arrays can be converted to Python scalars 

입니다.

pybrain 강화 학습 환경은 벡터 모양 상태를 지원합니까? 그렇다면 Q- 학습 또는 다른 방법의 구현과 함께 작동하도록 코드를 수정하려면 어떻게해야합니까?

답변

1

그동안 문제가 있음을 발견했습니다. 나는 Q() 학습자를 사용하고 있었지만 을 구현하는 NFQ() 학습자를 사용해야했습니다. 이제 작동합니다.