inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

닷지 ckpt 모델 파일을 onnx변환 후 unity에서 추론

해결된 질문

149

user123

작성한 질문수 1

0

안녕하세요.

 

닷지 ckpt 모델 파일을 onnx로 변환 후 unity에서 추론하는 방법에 대해 알려주실 수 있을까요?

 

제가 시도를 해보았을 때는 NullReferenceException이 나면서 정상 작동하지 않습니다.

 

ml-agent learn에서 자동으로 출력되는 onnx파일들은 정상 작동이 되구요.

 

감사합니다.

 

unity 강화학습 unity-ml-agents

답변 2

1

민규식

안녕하세요!

저도 몇년 전에 시도했을 때는 onnx 변환까지는 됐는데 Unity 프로젝트에 적용했을 때 에러가 나는 문제가 있었습니다. ㅠㅠㅠ 아마 단순 변환이 아닌 듯 하여 해당 부분에 대해서는 공식 코드의 onnx 생성 코드를 참고해야 할 것 같습니다! 저도 과거에 최종적으로는 실패했던 부분이라 변환에 대해서는 지금 알려드리긴 어려울 듯 합니다! 저도 다시 한번 시도해보고 말씀드리겠습니다!

1

user123

넵, 감사합니다 강사님!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. user123님.

ONNX로 변환한 모델 파일을 Unity에서 사용하는 과정에서 NullReferenceException이 발생하는 문제에 대해 알아보겠습니다.

우선, 아래 두 가지를 확인해 보세요:

  1. ONNX 변환 및 사용 방법 확인: ONNX 형식으로 모델을 변환할 때, 일반적으로 PyTorch나 TensorFlow 같은 딥러닝 프레임워크의 모델을 사용합니다. PyTorch의 경우 torch.onnx.export 기능을 활용하여 모델을 ONNX 형식으로 내보낼 수 있습니다. 이때 ONNX 모델의 입력 형식과 출력을 정확히 정의하는 것이 중요합니다. 모델이 Unity 내의 에이전트와 맞지 않는 경우 NullReferenceException이 발생할 수 있습니다.

  2. Unity 설치 및 설정 확인: Unity의 프로젝트 내에서 각종 라이브러리와 플러그인, 그리고 ML-Agents의 정확한 버전과 ONNX 모델에 대한 호환성을 확인하세요. 특히, ML-Agents에서는 주로 onnxruntime을 사용하여 ONNX 모델을 로딩 및 추론합니다. 해당 버전이 최신으로 설치되어 있는지 확인하고, 필요하다면 업데이트하세요.

비슷한 사례와 선행 자료가 있는지 살펴보려 했으나, 현재 자료나 토론 링크를 찾지 못했습니다. 이 문제는 모델 변환 및 적용 시 기본적인 설정들과 관련이 있으리라 예상됩니다.

또한, Unity에서 ONNX 모델을 사용할 때는 모델의 입력과 출력 차원을 주의 깊게 설정해야 합니다. 일반적으로 Unity ML-Agents에서 AgentBehaviorParameters 클래스의 설정을 조정하거나, Academy 및 Agent 클래스의 설정을 통해 에이전트의 행동을 관리합니다.

마지막으로, 관련 문서와 Unity ML-Agents 툴킷 공식 문서를 참조하여 문제에 대한 힌트를 얻으실 수 있습니다.

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

코드 관련 질문

0

17

2

섹션7 수업자료 업로드 부탁드립니다.

0

19

2

소리가 겹쳐서 들려요

0

17

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

17

1

UI 기능 관련 질문이 있습니다!

0

37

2

03-01 (16. CharacterController)

0

30

2

TLS 질문드립니다.

0

43

2

Task 구현 28:36 Equals 에서 잘 모르는 부분이 있습니다.

0

27

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

46

2

전 강의와 전혀 이어지지가 않음

0

29

1

pytorch local 설치 옵션에 conda 가 없습니다.

0

37

3

픽셀 좌표 스크린 좌표

0

33

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

24

1

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

41

2

무조건 타이틀 씬부터 시작해야하나요?

0

40

1

BaseUI, UIManager

0

51

3

프로젝트 완성본 문의

0

41

2

Unity Span

0

75

2

씬 배치 구조에서 Addressables를 어떻게 적용해야 하는지 궁금합니다.

0

54

1

39. Main화면 추가 UI 에서 자료는 어디서 받나요??

0

35

1

Scene 전환에서

0

25

1

(PPO 실습 2) total_loss 구하는 코드에서 action entropy 는 어떻게 계산된 것인지 궁금합니다.

0

337

1

예제 파일 실행 오류

0

289

1

PPO 알고리즘을 ml-agents learn 명령어로 학습 및 추론할때 메소드 호출 순서 질문

0

363

1