머신러닝 & 딥러닝

[OpenVINO] OTX - Detection

O_oz 2024. 1. 21. 13:22
반응형

OTX, Openvino Training Extensions은 Openvino용 모델 생성 툴킷이다

자세한 설명은 아래 깃헙에서,,

https://github.com/openvinotoolkit/training_extensions

 

GitHub - openvinotoolkit/training_extensions: Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™

Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™ - GitHub - openvinotoolkit/training_extensions: Train, Evaluate, Optimize, Deploy Computer Vision Models via OpenVINO™

github.com

 

1. 가상환경 준비 및 실행

# test 폴더에서 실행
python -m venv .otx
source .otx/bin/activate
python -m pip install -U pip
pip install wheel setuptools
pip install torch==1.13.1 torchvision==0.14.1 --extra-index-url https://download.pytorch.org/whl/cu117
pip install otx[full]

 

2. 생성 가능한 모델 확인

otx find --template --task DETECTION

detection에 사용할 수 있는 모델들을 확인할 수 있다

 

3. 모델 빌드

# test 폴더에서 실행
otx build Custom_Object_Detection_Gen3_ATSS --train-data-roots ./workspace/export-coco/ --val-data-roots ./workspace/export-coco/ --test-data-roots ./workspace/export-coco/ --workspace otx_detection

otx_detection이라는 폴더를 생성하고 training, validation, test 데이터셋을 사용해 MobileNetV2-ATSS 모델로 전이학습을 진행한다

이런 폴더가 생성될 것이다

 

4. 모델 학습

// otx_detection 폴더에서 실행
otx train

이렇게 하면 기본적으로 세팅된 Hyper Parameter 값으로 트레이닝을 시작한다

기본 Hyper Parameter는 생성한 폴더의 template.yml 파일 내에서 확인할 수 있다

Hyper Parameter 값을 다르게 주고 싶다면 아래와 같은 방법을 사용하자

// otx_detection 폴더에서 실행
otx train params --learning_parameters.num_iters 8 --learning_parameters.batch_size 1

 

5. 모델 평가

otx eval --test-data-roots ../workspace/export-coco/

 

 

6. 모델 추출

// otx_detection 폴더에서 실행
otx export --load-weights ./outputs/latest_trained_model/models/weights.pth --output ./outputs/export

모델 추출까지만 진행하고 생성된 openvino.bin과 openvino.xml 파일만 사용해도 된다


7. 모델 최적화

// otx_detection 폴더에서 실행
otx optimize --load-weights ./outputs/latest_trained_model/models/weights.pth --output ./outputs/optimize/

optimize 폴더가 생성된다

 

8. 모델 배포

// otx_detection 폴더에서 실행
otx deploy --load-weights ./outputs/export/openvino.xml --output ./outputs/deploy/

deploy 폴더가 생성된다

반응형

'머신러닝 & 딥러닝' 카테고리의 다른 글

[OpenVINO] OTX - Classification  (0) 2024.01.22
[OpenVINO] Datumaro  (0) 2024.01.20
[OpenVINO] CVAT  (1) 2024.01.19
AI 머신러닝에 대하여  (0) 2023.12.19