FuriosaAI SDK 사용자들을 위한 YOLOv5s 및 YOLOv7 예제

FuriosaAI SDK와 NPU를 사용해서 YOLOv5s 모델을 실행하는 예제를 Github에서 확인할 수 있습니다.

  1. ONNX 모델 생성하기 - 예제 코드

    • 학습이 완료된 Pytorch 모델을 ONNX로 변환하여 줍니다.
  2. Furiosa Quantizer - 예제 코드

    • FuriosaAI SDK가 제공하는 양자화 도구를 이용하여 생성한 ONNX 모델을 8bit 정수형 모델
      로 변환하여 줍니다.

    • 양자화 단계에 앞서 NPU 가속, 양자화 정확도 개선 등의 이유로 ONNX 모델을 잘라내는 과정이 필요할 수 있습니다. 잘라낸 이후의 과정은 CPU에서 처리할 수 있도록, Post-Processing 코드를 작성해주어야 합니다.

    • YOLOv5s의 경우, 아래 그림과 같이 Conv 이후의 부분은 잘라주고 있습니다.

  3. 모델 실행 및 결과 확인 - 예제 코드

    • 양자화 시킨 YOLOv5s 모델을 FuriosaAI의 컴파일러를 통해 최적으로 컴파일하고 실행하실 수 있습니다.
      (최초의 실행에서 컴파일 과정에 약간의 시간이 소요될 수 있으나, 이 후 실행에서는 cache를 이용하여 결과를 재사용하게 됩니다.)
1 Like

이 작업을 자세히 설명한 아래 자료를 참고하시기 바랍니다.

YOLOv7 예제는 아래 repository 참고 부탁 드립니다.