강의

멘토링

커뮤니티

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

고재청님의 프로필 이미지
고재청

작성한 질문수

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

ML-Agents 환경 학습 2

에러메시지가 뜹니다...

작성

·

473

1

   print(f'name of behavior:{behavior_name}')

이걸 하려고 하는데...


UnityWorkerInUseException
: Couldn't start socket communication because worker number 0 is still in use. You may need to manually close a previously opened environment or use a different worker number.UnityWorkerInUseException: Couldn't start socket communication because worker number 0 is still in use. You may need to manually close a previously opened environment or use a different worker number.


라는 오류가 뜹니다...


어떻게 해결해야 하나요?

답변 2

1

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

아 이렇게 worker 0이 사용중이어서 소켓 통신을 시작할 수 없다는 말은 여러개의 유니티 머신러닝 환경을 실행하려고 할 때 확인할 수 있는 에러 메시지입니다. 예를 들어 유니티 머신러닝 에이전트로 만든 환경 하나를 띄워놓고 학습하는 중에 다른 유니티 머신러닝 에이전트 환경을 하나 더 띄우려고 할 때 발생합니다. 

Python API를 사용하는 경우와 유니티 머신러닝 에이전트에서 제공하는 알고리즘을 사용하는 경우 각각 이에 대한 해결 방법이 다른데요! 

Python API의 경우 UnityEnvironment를 불러올 때 아래와 같이 worker_id에 다른 숫자를 넣어주시면 됩니다. 

mlagents learn을 사용하는 경우에는 --base-port 옵션을 사용하시면 됩니다. 

ex) mlagents-learn [yaml 경로] --env = [환경 경로] --run-id = [데이터 저장 폴더 이름] --base-port=1

고재청님의 프로필 이미지
고재청
질문자

감사합니다! 다시 해보니까 잘 작동됩니다!

0

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

 네넵! 다행이네요! :) 

고재청님의 프로필 이미지
고재청

작성한 질문수

질문하기