Release notes
2.0.3
2023/03/29
SaigeToolkit 버전 업데이트: 1b55c9
Toolkit 업데이트에 따라 import segmentation 시간이 40% 정도 감소하였습니다.
[기능 추가]
InferenceHandler에 params.oversized_image_handling 옵션 추가: do_not_inspect, resize_to_fit, crop_into_tiles
[기능 변경]
Trainer.build() 중 network_type 키 변경
v1_fast → v1_shallow
v1_accurate → v1_deep
[Bug Fix]
Windows에서 num_workers > 0 사용하는 경우 발생하는 에러 해결 (validation worker=0 으로 변경)
2.0.2
2023/03/22
[기능 추가]
Trainer.build()에 V2 network_type 추가: v2_fast, v2_standard, v2_accurate
[기능 변경]
Trainer.build() 중 network_type 키 변경
shallow → v1_fast
standard → v1_standard
deep → v1_accurate
Validation 시에도 inspection_size_wh 적용
InferenceHandler.to_device() 호출 시 warmup 수행
Trainer.train_one_step() 첫 호출 시 validation 일부 수행해 gpu memory 체크
[Bug Fix]
Windows에서 Trainer.build시 num_workers=0 사용하는 경우 발생하는 에러 해결
inspection_size_wh 적용 시에도 gpu memory 사용량이 변하는 이슈 일부 해결
2.0.1
2023/03/14
SaigeToolkit 버전 업데이트: f91000
[기능 추가]
Trainer.build 함수 config dict에 inspection_size_wh가 추가되었습니다.
InferenceHandler inference_option 추가
params.inspection_size_wh 옵션이 추가 되었습니다.
InferenceHandler에 warmup API가 추가되었습니다.
[기능 변경]
Trainer.build 함수 config dict에 들어가는 key 값이 변경되었습니다.
crop → crop_wh
resize_scale → resize_factor
Trainer 학습 시 데이터 로딩 속도를 올리기 위해 prefetch_factor=8 이 적용되고, 윈도우의 경우 persistent_workers=True로 동작이 변경되었습니다.
InferenceHandler의 inference_option 변경 사항
params.max_batch_size → params.batch_size으로 이름이 변경되었습니다. 인퍼런스 시 항상 params.batch_size를 사용합니다.
인퍼런스 시 고정 GPU 메모리를 사용합니다.
params.batch_size와 params.inspection_size_wh은 InferenceHandler.build 시에만 적용 가능하며, set_inference_option 에서는 변경이 불가합니다.
[Bug Fix]
InferenceHandler에서 시간 측정 기능을 사용할 때, inferece_time이 제대로 측정되지 않던 버그가 해결되었습니다.
Trainer에서 전체 데이터가 batch_size보다 작은 경우 학습이 진행되지 않는 이슈가 해결되었습니다.
내부 알고리즘 변경 (.contiguous())으로 인퍼런스 속도가 향상되었습니다.
2.0.0
rc4
2023/02/27
SaigeToolkit 버전 업데이트: d7ebf2
[기능 변경]
InferenceHandler의 리턴 결과에서 logit 제거
[Bug Fix]
ImageProcessor cythonize시 발생하던 staticmethod 에러 해결
rc3
2023/02/20
SaigeToolkit 버전 업데이트: ef67f8
[기능 추가]
학습/검사 시 16비트 이미지 지원
Trainer.post_train_process 메소드 추가
inference_option 추가
outputs.time 추가: 인퍼런스 시간 측정 옵션
params.max_batch_size 옵션 추가: InferenceHandler.infer_and_postprocess 에 한 번에 입력할 수 있는 이미지 수 제한 (기본값 1)
params.object_score_threshold 추가
params.calc_object_area_and_apply_threshold 추가: object의 area를 계산하고 threshold를 적용할지 여부
params.calc_object_score_and_apply_threshold 추가: object의 score를 계산하고 threshold를 적용할지 여부
InferenceHandler.infer_and_postprocess 호출 시 objects 결과 값에 area, score, bounding_box, bounding_rot_box, fitted_ellipse 추가
InferenceHandler.finalize_analysis 결과 추가
images에 이미지 별 object/underkill, object/overkill 추가
summary에 object/underkill, object/class_{idx}_underkill 추가
summary에 object/overkill, object/class_{idx}_overkill 추가
summary에 distribution_of_prediction, class_{idx}_distribution_of_prediction 추가
[기능 변경]
Trainer.build config 중 model → network_type로 이름 변경
Augmentation 종류 및 파라미터 변경
color_jitter, adjust_brightness_contrast, iso_noise, light_reflect 제거
adjust_brightness, adjust_contrast, adjust_hue, adjust_saturation 추가
adjust_gamma 파라미터 변경
inference_option 변경
params.score_threshold → params.object_boundary_threshold 로 변경 (default 0 → 100 변경)
params.area_threshold → params.object_score_threshold 로 변경
InferenceHandler.set_analysis_data, Trainer.build 데이터 입력 구조를 list → dict 변경
InferenceHandler.finalize_analysis 결과 출력 구조를 list → dict 변경
[기능 제거]
inference_option 중 params.wo_background 제거
[Bug Fix]
n_classes 가 16 이상인 경우 iou가 잘못 계산되는 오류 해결
rc2
SaigeToolkit 버전 업데이트: 482af7
SaigeToolkit의 체크포인트의 구조가 변경되어 빠른 metadata 읽기/쓰기를 지원합니다.
[기능 추가]
체크포인트의 metadata 읽기/쓰기를 위한 read_metadata(), write_metadata() API 추가.
rc1 이후 버전 체크포인트를 최신 버전 구조로 변환하는 convert_checkpoint() API 추가.
[기능 변경]
InferenceHandler의 inference_options 저장 기능이 사라졌습니다. 이에 따라 InferenceHandler.build() 로 인스턴스 생성 시 이전에 저장했던 inference_options를 자동으로 불러와 사용하는 동작이 제거되었고, 대신 config를 통해 inference_options를 세팅할 수 있도록 변경되었습니다. 따라서 inference_options를 metadata에 저장하고, 이 값을 build시에 읽어서 config에 입력해야합니다.
inference_options의 옵션들을 각 아이템 별로 세팅할 수 있도록 API가 변경되었습니다.
InferenceHandler.get_inference_options() → InferenceHandler.get_inference_option()
InferenceHandler.set_inference_options() → InferenceHandler.set_inference_option()
InferenceHandler.get_default_inference_options() → InferenceHandler.get_default_inference_option()
[기능 제거]
InferenceHandler.get_metadata() API 제거.
InferenceHandler.save_checkpoint() API 제거.
rc1
SaigeToolkit 버전 업데이트: 731dbe
설치형 모듈 SaigeError가 추가됨에 따라 환경 설치(pip install -r requirements.txt)를 다시 수행하셔야 합니다.
standard, deep 모델 변경: 학습 속도, 메모리 및 체크포인트 크기가 감소하였습니다. rc0 버전 모델은 지원되지 않습니다.
rc0