인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

강화학습 입문에서 Deep Q-learning/Policy Gradient까지

실습 - 얼어붙은 호수(Frozen Lake) - 반복 정책 평가 알고리즘 구현

실습에러 TImelimit

작성

·

39

0

안녕하세요. Frozen lake 실습에서 해당 코드 실행하면 에러가 나옵니다.ㅜㅜ

코드 잘못짠건 아니고 올려주신 파일 그대로 실행했을때 에러납니다.

image.png

에러코드

image.png

transitions = env.P 여기서 문제가 생기는것 같습니다.

감사합니다.

답변 2

0

YoungJea Oh님의 프로필 이미지
YoungJea Oh
지식공유자

제가 gymnasium site 에 들어가 보니 최근에 version 1.0.0 으로 새로운 version upgrade 되면서 API에 몇 가지 변화가 생겼습니다. Robotics 같은 분야가 강화된 것 같습니다. 새로운 version 에 맞추어 source code를 수정하는 것은 시간도 많이 들고 특별히 배울 내용도 없으므로 1.0 이전 version 으로 다시 설치 하시기 바랍니다. 다음과 같이 하시면 됩니다.
pip unistall gymnasium

pip install gymnasium==0.28.1

pip install gymnasium[classic-control]

pip install gymnasium[box2d]

pip install gymnasium[toy-text]

pip list 해서 version 이 0.28.1 인 것 확인

image.png

이렇게 하시면 교재 소스 코드 이상 없이 돌아갑니다.

pdf 교재도 update 해 놓겠고 공지 사항에도 올리겠습니다. 불편 드려서 죄송하고 알려 주셔서 감사 합니다.

한두혁님의 프로필 이미지

감사합니다.

env.unwrapped.P 로 바꿔도 실행이 됩니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 한두혁님이 경험하신 AttributeError: 'TimeLimit' object has no attribute 'P' 에러는 Gym 환경 설정에서 종종 발생할 수 있는 문제입니다. 이 문제는 새롭게 변경된 Gym 환경의 속성 접근 방식 때문일 가능성이 높습니다. Gym 버전이 업데이트되면서 이전의 속성 접근 방법이 변경된 경우가 있습니다.

문제 해결 방법

  1. 환경 속성 확인: env.P 대신 env.unwrapped.P로 접근하여 문제를 해결할 수 있습니다. env.unwrapped는 환경 객체의 원래 속성을 보여주는 함수입니다.

  2. 코드 수정 예시: 다음과 같이 코드를 업데이트해보세요.

    transitions = env.unwrapped.P
    

이 작은 수정으로 문제를 해결하는데 도움이 될 것입니다.

추가로, 관련된 게시글에서 유용한 정보를 찾아보았습니다. 다음 링크의 답변도 참고하시면 더 많은 도움을 받을 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기