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

조영철님의 프로필 이미지
조영철

작성한 질문수

유니티 머신러닝 에이전트 완전정복 (기초편)

ML-Agents 환경 학습 2

Pyuthon API 적용

작성

·

470

0

안녕하세요...ML-Agent 책을 사서 보다가 막히는데가 있어서 인강까지..찾아듣게 되었습니다.

이전 mlagents-learn 으로는 진행을 했습니다. 이후

  1. Python API 예제 코드를 사용해서 학습하려고 합니다.

    • 그런데.... cmd 창에서 관련 파이썬 코드 Python_api.py 를 입력하면 아무런 변화가 없습니다.

    • 혹시 몰라서 한줄 한줄 입력할 때에는 무언가 변화가 있는거 같은데...파이썬 스크립트로 한꺼번에 진행하려고 하면 변화가 없는데요...

    • 어디서 무엇이 문제인지 알아볼 수 있을까요?

    • 관련 코드를 vs code로 살펴볼 때..

    • 의 mlagents_env.environment 부분에서 에러가 발생한다고 하는데.. 파이썬에서 한줄 한줄 입력할 때에는 괜찮은 거 같은데요...

  2. 참고로 윈도우에서 pip 로 python 팩키지 설치 및 가상 환경 구성해서 진행하고 있으며
    - ml agents ver 2.0
    - pyhthon 3.9.9
    - pytorch 에서 토치 버전은 2.1.0 + cu118 입니다.

답변 7

0

조영철님의 프로필 이미지
조영철
질문자

그런데...파이썬 환경에서 관련 코드를 한 줄씩 입력하면...에러가 없는거라...이게 무슨 현상인지를 모르겠어요

민규식님의 프로필 이미지
민규식
지식공유자

저도 처음 보는 상황이긴 하네요 ㅜㅜ 뭔가 환경 설정 상의 에러 같은데...

아예 가상 환경을 새로 설정해보시고 https://github.com/reinforcement-learning-kr/Unity_ML_Agents_2.0 깃허브에서 requirements.txt로 한번 다시 설치해보시면 어떠실까요?

0

조영철님의 프로필 이미지
조영철
질문자

네 python 실행했을 때..오류 메시지도 안뜨고 그냥 응답이 없는 현상이 맛습니다.

그런데..took too long to response 오류도 뜨지는 않습니다.

python 코드는 책에 있는 그대로이고

Unity 도 3D Ball 예제라 제가 무언가 수정할게 없는데요...

위와 같은 상황이 발생의 원인이 될 수 있을까요?

0

조영철님의 프로필 이미지
조영철
질문자

다시 설치하려고 보니..이렇게 에러가 뜨네요...

0

조영철님의 프로필 이미지
조영철
질문자

이렇게 확인해보니...mlagents-envs 는 설치되어 있습니다.

흠 다시 설치한다는 것은

pip install -e ./ml-agents-envs

pip install -e ./ml-agents

python -m pip install mlagents==0.30.0

을 말씀하시는 걸까요?

민규식님의 프로필 이미지
민규식
지식공유자

python 실행하셨을때는 따로 오류 메시지도 안뜨고 그냥 응답이 없는걸까요? 혹시 오래 기다렸을때 took too long to response 오류가 뜬다면 다음의 사항들이 오류 원인일 수 있습니다.

  • 에이전트의 behavior parameters의 Behavior type이 Default로 설정되어있는가

  • 유니티의 mlagents 버전과 파이썬의 mlagents 버전이 호환되는 버전인가

  • 경로에 한글이 포함되어 있는가

  • 유니티에서 환경을 실행했을 때 유니티 자체적으로 오류가 발생하지는 않는가

  • Agent 컴포넌트를 가지는 gameObject내에 'Decision Requester' 스크립트를 컴포넌트로 추가했는가

오류 전체 내용은 다음과 같습니다

mlagents_envs.exception.UnityTimeOutException: The Unity environment took too long to respond. Make sure that :

The environment does not need user interaction to launch

The Agents' Behavior Parameters > Behavior Type is set to "Default"

The environment and the Python interface have compatible versions.

0

조영철님의 프로필 이미지
조영철
질문자

mlagemts 파이썬 패키지를 설치하고 mlagents-learn 까지 실행을 했습니다. ymal 파일 수정해서 학습하는 거 까지 실행을 했고요...
mlagents-learn 실행이 되면..python-api 도 되어야 하는거라 생각하는데..무언가 다른 것이 있을까요?

파이썬에서 한줄로 입력할 때에는 에러가 없어요

민규식님의 프로필 이미지
민규식
지식공유자

아.. 그러게요 mlagents-learn까지 실행하신거보면 mlagents는 설치는 잘 된 것 같네요. 단, python-api의 경우 mlagents 외에 현재 오류가 발생하는 mlagents_envs도 설치가 되어있어야합니다. 조금 이상한건 pip install mlagents하면 같이 자동으로 mlagents-envs까지 설치가되는데 한번 확인해보셔야 할 것 같습니다.

pip show mlagents-envs를 통해 확인해보시고 설치가 안되어있는 경우 다시 설치해보시면 좋을 것 같습니다.

0

조영철님의 프로필 이미지
조영철
질문자

 

vs 코드에서는 mlagetnts_envs 모듈을 임포트 할 수 없다고 하고요...

 

python 3.10 이상이 되어야 하나요?

민규식님의 프로필 이미지
민규식
지식공유자

엇.. import 할 수 없다고 하는거보면 mlagents 파이썬 패키지가 설치되지 않은 것 아닐까 싶습니다! 혹시 pip install mlagents 를 통해 파이썬 라이브러리 설치하셨을까요? 강의에서는 파이썬 3.8 버전 사용했습니다

0

민규식님의 프로필 이미지
민규식
지식공유자

안녕하세요!

에고.. 인프런 강의 안내에 나온대로 책과 강의 내용이 동일 내용을 다루고 있습니다 ㅜㅜ

책 진행 관련 질문은 저희 깃허브 (https://github.com/reinforcement-learning-kr/Unity_ML_Agents_2.0) 이슈에 달아주셔도 괜찮습니다.

일단 질문 주신 내용에 대해 답변드리겠습니다.

혹시 Python_api.py가 DQN 코드를 작성하신 것일까요?

그리고 해당 라인에서 어떤 오류가 발생하는지, 오류의 내용도 함께 알려주시면 감사드리겠습니다!

조영철님의 프로필 이미지
조영철
질문자

책과 강의에 있는 Python API 예제코드입니다.

 

코드는 예제 코드 (3D Ball) d:그대로 작성했습니다.

 

이후에 커멘드...(가생환경) 에서 python 스크립트 실행하려고 하면 응답이 업네요

조영철님의 프로필 이미지
조영철

작성한 질문수

질문하기