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

조성일님의 프로필 이미지

작성한 질문수

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

torch.model.nn to unity onnx로 변환 후 사용 가능한가요?

22.04.26 13:12 작성

·

514

0

안녕하세요. 

torch model의 checkpoint를 onnx로 conversion 했을 때, 유니티의 agent에 해당 onnx를 load시, 
version_number 비롯한 여러가지 필요 constant가 없어서 실패합니다. 방법이 있을까요?


현재 torch로 학습된 모델을 Webgl로 빌드해서, aws에 hosting을 계획하고 있습니다. (Webgl hosting Build Link)
ppo나 sac로 학습하면 onnx로 나와서 해당 onnx를 붙여서 하는건 이슈가 없습니다만,
유니티가 제공하지 않는 알고리즘으로 (muzero)를 구현해서 붙일려고하니 torch에서 학습한 
prediction, representation, dynamic 모델을 unity에서 사용가능한 onnx로 변환을 실패하고 있습니다. 


아니면 torch로 학습한 모델을 퍼블리싱하는 다른 방법이 있을까요?
학습된 모델을 서버로 띄어서 통신으로 하는 방법 정도가 생각납니다만,
서버를 사용하지 않고 클라이언트로만 해결 가능하면 좋겠습니다.

답변 1

1

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

2022. 04. 26. 23:11

안녕하세요! 저도 그 부분에 대해서 항상 고민이 있습니다... ㅜㅜ 

안그래도 최근 ML-Agents 관련 업데이트 예정 사항들에 대해 들은적이 있는데요! 

올해 중 torch나 tensorflow로 학습한 모델을 ML-Agents에 임베딩하여 사용할 수 있는 기능을 제공할 예정이라고 들었습니다. 단 올해 예정이고 정확한 일정은 언제가 될지 잘 모르겠습니다. 

제 생각에도 현재 가능한 방법은 말씀하신대로 python API를 통해 학습하고 서버나 클라이언트를 통해 학습된 모델을 지속적으로 돌려놓는 방법밖에 없을 듯 합니다 ㅜㅜ 

조성일님의 프로필 이미지
조성일
질문자

2022. 04. 27. 07:32

답변 고맙습니다~!