1. Onnx란?
ONNX(Open Neural Network Exchange)는 딥러닝 모델을 표현하기 위한 개방형 형식입니다. Microsoft와 Facebook이 주도하여 개발하였고, 이 형식은 여러 딥러닝 프레임워크에서 모델을 공유하기 위한 표준입니다.
ONNX는 여러 프레임워크에서 딥러닝 모델을 생성하고 훈련시킬 수 있도록 하며, 각각의 프레임워크가 제공하는 도구 및 기능을 활용할 수 있습니다. ONNX 형식을 사용하여 모델을 다른 프레임워크로 쉽게 이동할 수 있습니다. 예를 들어, 연구자는 PyTorch에서 모델을 프로토타입하고 개발할 수 있으며, ONNX를 통해 모델을 TensorFlow 또는 Caffe2로 변환하여 서버에서 배포할 수 있습니다.
ONNX는 계산 그래프(computation graph)라는 개념을 사용하여 딥러닝 모델을 표현합니다. 계산 그래프는 노드(node)와 에지(edge)로 구성되며, 각 노드는 연산을, 에지는 노드 간에 전달되는 데이터를 표현합니다. ONNX는 다양한 타입의 노드(예: convolution, pooling, fully connected layer 등)를 지원하여, 매우 복잡한 딥러닝 모델도 표현할 수 있습니다. 따라서 ONNX는 여러 딥러닝 프레임워크 간의 호환성을 제공하여, 개발자가 자신이 선호하는 도구를 사용하여 모델을 개발하고 배포하는 데 도움이 됩니다.
2. Barracuda
Barracuda는 Unity에서 개발한 라이브러리로, Unity 엔진 내에서 신경망을 실행시키는 데 사용됩니다. 이를 통해 개발자들은 Unity 환경에서 직접적으로 머신러닝 모델을 실행시킬 수 있게 되며, 이는 게임이나 다른 Unity 애플리케이션에 AI 기능을 추가하는 데 큰 도움이 됩니다.
Barracuda는 ONNX 포맷의 모델을 지원하며, CPU와 GPU에서 모두 실행될 수 있습니다. 이는 Unity에서 실행되는 모든 플랫폼, 즉 데스크톱, 모바일, 웹 등에서 동작하도록 설계되었습니다.
2.1 Barracuda 유니티 설치
유니티에서 Barracuda 라이브러리를 설치하기 위해서는 다음과 같은 단계를 거쳐야합니다. 첫 번째로 Unity에서 Package Manager를 열어야 합니다. Package Manager는 'Window > Package Manager'에 있습니다.
다음으로 Package Manager에 Barracuda를 찾아 Install해야합니다. 그런데 Barracuda는 일반적인 검색으로 찾을 수 없습니다. 그렇기 때문에 git URL을 통해서 찾아줘야합니다. git URL은 다음과 같이 복사 할 수 있습니다. 먼저 링크를 통해 Barracuda github에 들어갑니다. 그리고 아래 이미지와 같이 Code 버튼을 클릭하고 HTTPS의 주소를 복사해줍니다.
Package Manager의 좌측 상단에 있는 + 버튼을 찾아 눌러줍니다. 그럼 Add package from git URL...이 나옵니다. 이 메뉴를 클릭해줍니다.
그럼 아래와 같이 URL을 입력하는 부분이 나옵니다. 이 부분에 복사해 놓은 링크를 붙여 넣어주시고 Add 버튼을 눌러주면 됩니다.
정상적인 링크를 넣었다면 아래와 같이 패키지를 설치하는 것을 확인할 수 있습니다. 이때 잠시 기다리면 됩니다.
정상적으로 설치가 완료되면 아래 이미지처럼 Barracuda가 설치된 것을 확인할 수 있습니다. (23년 06월 23일 기준으로 가장 최신 버전은 3.0.0 버전입니다.)