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 |