• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

error->하이퍼파라미터들이 안떠요

23.05.20 18:23 작성 조회수 279

1

error.pngC:\mlagents_start\ml-agents-release_17>mlagents-learn config\ppo\3DBall.yaml --run-id=tutorial_5_20_16

▄▄▄▓▓▓▓

╓▓▓▓▓▓▓█▓▓▓▓▓

,▄▄▄m▀▀▀' ,▓▓▓▀▓▓▄ ▓▓▓ ▓▓▌

▄▓▓▓▀' ▄▓▓▀ ▓▓▓ ▄▄ ▄▄ ,▄▄ ▄▄▄▄ ,▄▄ ▄▓▓▌▄ ▄▄▄ ,▄▄

▄▓▓▓▀ ▄▓▓▀ ▐▓▓▌ ▓▓▌ ▐▓▓ ▐▓▓▓▀▀▀▓▓▌ ▓▓▓ ▀▓▓▌▀ ^▓▓▌ ╒▓▓▌

▄▓▓▓▓▓▄▄▄▄▄▄▄▄▓▓▓ ▓▀ ▓▓▌ ▐▓▓ ▐▓▓ ▓▓▓ ▓▓▓ ▓▓▌ ▐▓▓▄ ▓▓▌

▀▓▓▓▓▀▀▀▀▀▀▀▀▀▀▓▓▄ ▓▓ ▓▓▌ ▐▓▓ ▐▓▓ ▓▓▓ ▓▓▓ ▓▓▌ ▐▓▓▐▓▓

^█▓▓▓ ▀▓▓▄ ▐▓▓▌ ▓▓▓▓▄▓▓▓▓ ▐▓▓ ▓▓▓ ▓▓▓ ▓▓▓▄ ▓▓▓▓`

'▀▓▓▓▄ ^▓▓▓ ▓▓▓ └▀▀▀▀ ▀▀ ^▀▀ ▀▀ ▀▀ '▀▀ ▐▓▓▌

▀▀▀▀▓▄▄▄ ▓▓▓▓▓▓, ▓▓▓▓▀

`▀█▓▓▓▓▓▓▓▓▓▌

¬`▀▀▀█▓

Version information:

ml-agents: 0.26.0,

ml-agents-envs: 0.26.0,

Communicator API: 1.5.0,

PyTorch: 1.7.1+cu101

Traceback (most recent call last):

File "c:\users\owner\appdata\local\programs\python\python37\lib\runpy.py", line 193, in runmodule_as_main

"__main__", mod_spec)

File "c:\users\owner\appdata\local\programs\python\python37\lib\runpy.py", line 85, in runcode

exec(code, run_globals)

File "C:\Users\owner\AppData\Local\Programs\Python\Python37\Scripts\mlagents-learn.exe\__main__.py", line 7, in <module>

File "c:\users\owner\appdata\local\programs\python\python37\lib\site-packages\mlagents\trainers\learn.py", line 250, in main

run_cli(parse_command_line())

File "c:\users\owner\appdata\local\programs\python\python37\lib\site-packages\mlagents\trainers\learn.py", line 246, in run_cli

run_training(run_seed, options)

File "c:\users\owner\appdata\local\programs\python\python37\lib\site-packages\mlagents\trainers\learn.py", line 83, in run_training

stats_writers = register_stats_writer_plugins(options)

File "c:\users\owner\appdata\local\programs\python\python37\lib\site-packages\mlagents\plugins\stats_writer.py", line 47, in register_stats_writer_plugins

if ML_AGENTS_STATS_WRITER not in importlib_metadata.entry_points():

File "c:\users\owner\appdata\local\programs\python\python37\lib\site-packages\importlib_metadata\__init__.py", line 266, in eq

return self._key() == other._key()

AttributeError: 'str' object has no attribute '_key'

뭔가 실행은 되는 것 같은데 하이퍼파라미터는 안뜨고 오류만 떠요.

python은 3.7.9이고, unity editor는 2021.1.18f로 했었어요. 어떻게 하면 오류를 제거하고 하이퍼파라미터들을 불러올 수 있을까요?(ml-agents-release_17 이용했어요)

답변 1

답변을 작성해보세요.

1

안녕하세요! 이 에러의 경우는 저도 익숙하지 않은 에러인데요! ㅜㅜ

환경 설정 관련해서는 강의에서는 python 3.8 버전을 이용하고 있어서 python 버전을 변경해서 세팅해보시면 어떨까 생각합니다! 이외에 유니티 버전이나 mlagents 버전은 현재 강의에서 사용중인 버전이 맞습니다!

이 에러 메세지 이후에 학습은 잘 되시나요?

호랑스님의 프로필

호랑스

질문자

2023.05.20

아니요ㅠㅠ 그냥 에러 메세지만 뜨고 학습이 안돼요.

파이썬 버전 3.8.9로 변경했는데 또 다른 에러가 뜨네요. 여기서 말하는 protobub package 설치해야 실행되는 건가요?

========================================================

C:\mlagents_start\ml-agents-release_17>mlagents-learn config\ppo\3DBall.yaml --run-id=tutorial_5_20_17

Traceback (most recent call last):

File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 194, in runmodule_as_main

return runcode(code, main_globals, None,

File "c:\users\owner\appdata\local\programs\python\python38\lib\runpy.py", line 87, in runcode

exec(code, run_globals)

File "C:\Users\owner\AppData\Local\Programs\Python\Python38\Scripts\mlagents-learn.exe\__main__.py", line 4, in <module>

from mlagents.trainers.learn import main

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents\trainers\learn.py", line 2, in <module>

from mlagents import torch_utils

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents\torch_utils\__init__.py", line 1, in <module>

from mlagents.torch_utils.torch import torch as torch # noqa

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents\torch_utils\torch.py", line 6, in <module>

from mlagents.trainers.settings import TorchSettings

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents\trainers\settings.py", line 25, in <module>

from mlagents.trainers.cli_utils import StoreConfigFile, DetectDefault, parser

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents\trainers\cli_utils.py", line 5, in <module>

from mlagents_envs.environment import UnityEnvironment

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents_envs\environment.py", line 34, in <module>

from mlagents_envs.communicator_objects.command_pb2 import STEP, RESET

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\mlagents_envs\communicator_objects\command_pb2.py", line 32, in <module>

_descriptor.EnumValueDescriptor(

File "c:\users\owner\appdata\local\programs\python\python38\lib\site-packages\google\protobuf\descriptor.py", line 796, in new

message.Message.CheckCalledFromGeneratedFile()

TypeError: Descriptors cannot not be created directly.

If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.

If you cannot immediately regenerate your protos, some other possible workarounds are:

1. Downgrade the protobuf package to 3.20.x or lower.

2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

========================================================

 

protobub package version은 확인해보니까 4.23.1이라는데 다운그레이드해야 할까요..?

호랑스님의 프로필

호랑스

질문자

2023.05.20

protobub package version은 확인해보니까 4.23.1이라는데 다운그레이드하고 numpy도 버전을 낮췄더니 하이퍼파라미터 보이는 거는 해결되었어요! 학습은 아직 해결 안되었지만,, 현재 설치된 PyTorch 버전이 제가 사용하고 있는 NVIDIA GeForce RTX 3060 Laptop GPU의 CUDA 기능(sm_86)과 호환되지 않는 문제라서,,더 고민해봐야 할 것 같습니다. 답변 감사합니다:)

 

CUDA toolkit version11 설치하고 pytorch 1.7.1 CUDA11.0 설치하고 학습도 해결되었습니다.

잘 해결되었다니 다행입니다! 혹시 진행하시면서 또 궁금한 사항 생기시면 편하게 질문주세요!