Skip to content

Getting started

1. 환경 설정


소스 코드를 준비합니다.

git clone https://dev.azure.com/SaigeResearch/Research/_git/SaigeAlignment -b 2.1.0-rc0
cd SaigeAlignment

conda 환경을 생성합니다. python=3.11.9

conda create -n research python=3.11.9  # 연구팀 공통 conda env
conda activate research

For Research

연구용으로는 아래의 명령어로 dependencies를 설치합니다.

pip install -r requirements/develop.txt
SaigToolkit과 ResearchToolkit을 사용할 수 있습니다.

For Deploy

배포용(제품)으로는 아래의 명령어로 dependencies를 설치합니다.

pip install SaigeToolkit==2.4.0 -r requirements/deploy.txt
cythonized SaigeToolkit 패키지가 설치됩니다.

2. Python API 테스트

TD

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


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

python setup.py build_ext --build-lib deploy

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

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

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


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

from deploy.alignment import Aligner

...

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

5. 데모 코드


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

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

6. Preset checkpoint


빌드하면 checkpoint/ 폴더에 아래 preset 이 저장됩니다. 가중치는 없고 방법과 파라미터만 담습니다.

preset 입력 방법
prototype_a source 가 target 보다 큼 ResNet18 특징 매칭 후 crop
scan_odb_mutual_information scan↔ODB, 같은 크기 상호정보 최대화 평행이동
scan_scan_correlation scan↔scan(조명 다른 페어), 같은 크기 위상 상관·census 상관 교차 확인, 불일치 시 NCC 판정
  • 같은 크기 preset 의 반환값과 좌표 정의는 API reference의 Aligner.align 을 참고하세요.
  • SDK 는 checkpoint/prototype_a.saigealign 경로를 사용합니다. 다른 preset 을 쓰려면 파일을 이 이름으로 교체합니다.
  • preset 파일은 저장한 SaigeToolkit 버전의 형식을 따릅니다. 2.7 이상으로 저장한 파일은 2.4 계열에서 로드되지 않습니다.