AI/Deep Learning

[DL] yolov5 모델 양자화 명령어

운호(Noah) 2022. 7. 7. 11:12

들어가기 앞서,

  • 해당 포스팅에선, yolov5 모델을 양자화하는 방법에 대해서 다뤄보겠습니다.

  • 사전 환경 셋팅 코드는 아래와 같습니다.

      git clone https://github.com/ultralytics/yolov5.git
      pip install -r yolov5/requirements.txt 
      cd yolov5
  • export 명령어의 옵션은, 원하는 모델에 따라 달라질 수 있습니다.

기본 모델 생성

python3 export.py --weights yolov5s.pt --include saved_model

FP16 양자화 모델 생성

python3 export.py --weights yolov5s.pt --include tflite

INT8 양자화 모델 생성

python3 export.py --weights yolov5s.pt --include tflite --int8

양자화 적용 확인 방법

  • TFLite 모델은 input, output type 또는 모델 저장 용량 비교를 통해 양자화 적용 결과를 확인할 수 있습니다.
  • 상단 기본 모델은 TFLite 모델이 아니기 때문에, FP16 과 INT8 간 비교가 어려울 수 있습니다.
    • yolov5 는 기본 모델을 FP32 TFLite 로 변환해주는 코드를 제공하지 않습니다.
  • 만약, 기본 모델을 포함해, 정확한 비교를 원하신다면, 기본 모델을 직접 FP32 TFLite 모델로 변환해 비교할 수 있습니다.