Skip to content

Release notes

2.0.1

  • 2023/03/15
  • SaigeToolkit: 42207d4c3
  • [기능 추가]
    • analysis data의 갯수가 0일때 error raise합니다.
    • InferenceHandlerwarmup API가 추가되었습니다.
  • [기능 변경]
    • params.max_batch_sizeparams.batch_size으로 이름이 변경되었습니다. 인퍼런스 시 항상 params.batch_size를 사용합니다.
    • 인퍼런스 시 고정 GPU 메모리를 사용합니다.
    • params.batch_sizeInferenceHandler.build 시에만 적용 가능하며, set_inference_option 에서는 변경이 불가합니다.
  • [bug fix]
    • InferenceHandler에서 시간 측정 기능을 사용할 때, inferece_time이 제대로 측정되지 않던 버그가 해결되었습니다.
    • 내부 알고리즘 변경하였습니다. (.contiguous())

2.0.0

rc8

  • SaigeToolkit 버전 업데이트: 77f73d88
  • [기능 추가]
    • 이미지 사이즈와 무관하게 GPU 메모리 사용량을 제한하는 기능을 추가하였습니다. 인퍼런스 시 큰 이미지를 입력하면 더 많은 GPU 메모리를 사용하는 이슈를 해결하였습니다.
  • [기능 변경]
    • trainer.get_total_num_iterations에서 Trainer.get_total_num_iterations로 build없이 iteration수를 가져올수 있도록 변경하였습니다. Trainer.get_total_num_iterations
    • InferenceHandler.infer_and_postprocessInferenceHandler.finalize_analysis시 return값에서 postprocess_time에서 post_processing_time로 이름이 변경되었습니다. InferenceHandler.infer_and_postprocess

rc7

  • SaigeToolkit 버전 업데이트: b7ac6c
  • [bug fix]
    • windows에서 이미지 경로가 C: 드라이브가 아닌 경우 발생하던 에러 해결
  • [기능 추가]
    • inference_optionparams.max_batch_size 옵션 추가 (기본값 1)
  • [기능 변경]
    • InferenceHandler.finalize_analysis의 return 값 중 distribution_of_prediction 의 타입이 ndarray(float32)ndarray(uint8) 로 변경되었습니다.

rc6

  • SaigeToolkit 버전 업데이트: 2b71326b
  • [기능 변경]
    • Trainer.build에서 model_size의 이름이 network_type로 변경되었습니다.

rc5

  • [기능 추가]
    • InferenceHandler.finalize_analysisdistribution_of_prediction를 추가하였습니다.
  • [bug fix]
    • validation_imagestrain_images와 겹칠 때 발생하던 warning을 제거하였습니다.
    • finalize_analysis, analyze_with_existing_data에서 0으로 나눌 때 발생하던 warning을 제거하였습니다.

rc4

  • [기능 변경]
    • inference_option 변경사항:
      • object_compute_areacalc_object_area_and_apply_threshold 로 변경되어, object의 area를 계산하고 threshold를 적용할지 여부를 나타냅니다.
      • object_compute_scorecalc_object_score_and_apply_threshold 로 변경되어, object의 score를 계산하고 threshold를 적용할지 여부를 나타냅니다.
      • object_scoring_method의 기본 값이 averagemean으로 변경되었습니다.
      • object_area_method 의 기본 값이 fastfast_plus로 변경되었습니다.
    • analysis시 input의 형태를 check하는 코드를 추가하였습니다.
    • Analysis시 label이 모두 ng이거나, 모두 ok인 경우 발생하는 에러를 해결하였습니다. 이 경우 analysis 결과 summary에서 일부 key를 출력하지 않습니다. InferenceHandler.finalize_analysis
    • 입력 데이터(train_images, validation_images)의 labels의 키를 ng에서 is_ng로 받도록 수정하였습니다.
    • params.heatmap_color_range가 둘로 나뉘어, params.heatmap_color_range_minparams.heatmap_color_range_max로 변경되었습니다.
    • post_train_process의 output 형태가 바뀌었습니다.Trainer.post_train_process
    • validate함수의 return값에서 FP와 FN을 제거하였습니다.
  • [기능 추가]
    • InferenceHandler.infer_and_postprocess 호출 시 objects 결과 값에 bounding_box, bounding_rot_box, fitted_ellipse가 기본으로 추가되었습니다.
    • inference_options에서 outputs.score_minoutputs.score_max를 추가하였습니다.
    • train_one_step의 return값을 추가하였습니다. Trainer.train_one_step
    • InferenceHandler.finalize_analysis시에 distribution_of_prediction을 계산합니다. InferenceHandler.finalize_analysis
    • inference_option에서 Inference의 시간을 측정할 수 있는 outputs.time을 추가하였습니다. 관련 api로는 InferenceHandler.get_default_inference_option, InferenceHandler.get_inference_option, InferenceHandler.set_inference_option, InferenceHandler.infer_and_postprocess, InferenceHandler.finalize_analysis가 있습니다.
  • [bug fix]
    • analyze 2회 이상 수행시 postprocess 적용 안되는 버그 해결하였습니다.
    • Trainer.buildvalidation_images가 빈 값일 경우 발생했던 에러를 해결하였습니다.

rc3

  • SaigeToolkit 버전 업데이트: 1aaa29e4
  • [기능 추가]
  • postprocess시 parameter와 기능이 추가되었습니다.
    • object_compute_area 파라미터가 추가되었고, area를 계산할지 여부를 나타냅니다.
    • object_compute_score 파라미터가 추가되었고, score를 계산할지 여부를 나타냅니다.
    • object_scoring_method 파라미터가 추가되었고, object의 scoring 방법을 나타냅니다.
    • object_score_threshold 파라미터가 추가되었고, object의 score가 threshold보다 큰 object만 return합니다.
  • [기능 변경]
  • set_analysis_data, Trainer.build시 데이터를 list에서 dictionary형태로 받습니다.
    • def set_analysis_data(self, images: Dict[str, Dict], labeled: bool) -> None: ...
  • finalize_analysis의 출력도 dictionary형태로 변경하였고, key는 입력의 key와 같습니다.
  • postprocess시 파라미터 이름이 변경되었습니다.
    • anomaly_thresholdanomaly_score_threshold
    • color_rangeheatmap_color_range
    • area_thresholdobject_area_threshold
    • score_thresholdobject_boundary_threshold

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

  • Postprocess에 heatmap추가.
  • [기능 추가]
    • postprocess의 outputs 옵션에 heatmap이 추가되었습니다.
    • postprocess의 params 옵션에 color_range이 추가되었습니다.

rc0

  • initial release