Skip to content

Getting started

1. 환경 설정


소스 코드를 준비합니다.

git clone https://dev.azure.com/SaigeResearch/Research/_git/UniversalDataDriftDetection -b 2.0.0-rc2
cd UniversalDataDriftDetection

Data Drift Detection을 수행할 TASK의 module도 빌드되어 있거나 repo에 있는 submodule을 설치되어 있어야 합니다.

1) UDDD Repo에 있는 submodule을 받아서 처리하는 방식

git submodule update --init --recursive
2) 따로 설치한 task module과 함께 사용하는 방식.

이때, UDDD와 task module들이 같은 레벨에 존재해야합니다.

├── CLS
├── SEG
├── DET
├── ...
└── UDDD

conda 환경을 생성하고 dependencies를 설치합니다. python=3.8

conda create -n research python=3.8  # 연구팀 공통 conda env
conda activate research
pip install -r requirements.txt

함께 사용할 task module들이 빌드되어 있고 해당 requirements가 이미 설치되어 있다면,

conda create -n research python=3.8  # 연구팀 공통 conda env
conda activate research
pip install -r mini_requirements.txt

2. Python API 테스트


API 테스트를 통해 소스코드와 환경이 제대로 설정 되었는지 확인합니다.

python test/test_api.py  # 마지막에 ALL PASSED 출력되면 정상입니다.

3. 라이브러리 빌드 & API 테스트


원하는 경로에 UniversalDataDriftDetection 라이브러리를 빌드합니다. 예제에서는 deploy 폴더를 사용합니다.

python setup.py build_ext --build-lib deploy

빌드된 바이너리 라이브러리로 API 테스트를 진행합니다.

python test/test_api.py --module_path ./deploy  # 마지막에 ALL PASSED 출력되면 정상입니다.

4. 빌드된 라이브러리 사용


빌드된 바이너리를 import해 필요한 기능을 사용합니다.

from deploy.uddd import DataDriftDetectionPreparer
...

각 기능에 대한 설명은 API reference를 참고하세요.

5. 데모 코드


API를 사용해 모델 학습과 인퍼런스를 수행하는 데모 코드입니다.

1) Classification DDD

# 학습 데모
python demo/classification/train.py

# 인퍼런스 데모
python demo/classification/inference.py

2) Detection DDD

# 학습 데모
python demo/detection/train.py

# 인퍼런스 데모
python demo/detection/inference.py

3) Segmentation DDD

# 학습 데모
python demo/segmentation/train.py

# 인퍼런스 데모
python demo/segmentation/inference.py