• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

GridWorld, 유니티에서 실행하면 observation 관련 에러가 뜹니다.

23.09.09 22:07 작성 조회수 263

0

  1. 에러 캡쳐

  2. 기존에 score가 낮게 나온 것도 이것을 해결하지 않고 빌드해서 그런 것 같습니다.

  3. 저의 GridAgent.cs에서 CollectObservation 함수 부분 캡쳐

  4. 유니티 내 에이전트의 인스펙터의 설정

  5. 도움 부탁드립니다.

 

답변 2

·

답변을 작성해보세요.

0

block63님의 프로필

block63

질문자

2023.09.14

해결글 링크: GridWorld, CollectObservations에서 에러 질문입니다. - 인프런 | 질문 & 답변 (inflearn.com)

(혹시 다른 분이 같은 문제로 검색할 때 도움되시라고 링크 남깁니다)

0

안녕하세요! 해당 경고의 경우 현재 behavior parameters에서 vector obs의 space size 6으로 설정되었는데 실제 벡터 관측 할당이 안되어있어서 발생하는 경고인 것 같습니다!

Agent 스크립트 내에 collectObservations 함수를 어떻게 작성하셨을까요? 해당 함수 내부에서 AddObservation을 통해서 벡터 관측을 추가해주셔야 할 것 같습니다

block63님의 프로필

block63

질문자

2023.09.10

질문하는 글 본문에 CollectObservations 함수가 캡쳐되어 있습니다. 책의 내용과 강의 내용이 많이 달라서 강의 내용으로 적용했습니다. 책의 내용을 적용하면 인덱스 범위 에러가 뜨고, 강의 내용을 적용하면 위와 같이 관측 정보가 얻지 못하는 에러가 뜹니다. 관련해서 했던 기존 질문도 참고해주십시요.

기존질문 링크: https://www.inflearn.com/questions/999131/gridworld%EA%B0%80-%EC%9B%80%EC%A7%81%EC%9D%B4%EC%A7%80-%EC%95%8A%EA%B3%A0-time-out-%EC%9C%BC%EB%A1%9C-%EC%A4%91%EC%A7%80%EB%90%A9%EB%8B%88%EB%8B%A4

링크의 맨 끝에 제가 쓴 글 참조해주십시요.

 

아 죄송합니다 첨부해주신걸 제대로 확인을 안했네요 ㅜ CollectObservation 함수 내용도 있었군요!

환경쪽 강의는 제가 아니라 다른분이 하시긴 했지만 그분 평소 코딩 방법대로면 if (null != sensor)인 경우 해당 조건문 아래 내용을 작성했을 것 같습니다.

개인적으로는 if (null == sensor)이 줄은 삭제해도 무방하다고 생각합니다.

지금 sensor가 null이 아니라서 해당 조건문을 패스해버리는 바람에 VectorObs에 아무것도 포함되지 않는 것 같습니다! 한번 이렇게 수정하시고 확인 부탁드릴게요!

block63님의 프로필

block63

질문자

2023.09.11

말씀하신 방법을 다 해봤는데요. 그렇게 하면 Index was out of range가 마찬가지로 뜹니다.

캡쳐:

image

block63님의 프로필

block63

질문자

2023.09.12

Index was out of range 는 for문에서 i를 1로 적어놔서 그러함을 발견했습니다.

하지만 여전히 해결이 안 되서, 현상 정리해서 별도 질문글로 뵙겠습니다. 감사합니다.