Skip to content

Release notes

2.1.6

  • 2023/08/14
  • SaigeToolkit 버전 업데이트: e7f1e085
  • [Bug Fix]
    • checkpoint save시 경로에 한글 이름이 들어가면 뜨는 에러 해결

2.1.5

  • 2023/08/07
  • SaigeToolkit 버전 업데이트: a4a5b076
  • [Bug Fix]
    • Windows에서 0번 이외의 GPU 사용 시 속도 저하 및 메모리 이슈 해결

2.1.4

  • 2023/08/03
  • 배포시 모델정보를 숨기기 위해, 파일이름을 변경하고, 사용하지 않는 모델은 build하지 않도록 수정.

2.1.3

  • 2023/07/31
  • SaigeToolkit 버전 업데이트: 7989cc7
    • timer관련 버그 해결: 사용하지 않는 gpu에 메모리 올리는 버그, batch_size가 1보다 큰 경우 음수 나오는 버그

2.1.2

  • 2023/07/18
  • SaigeToolkit 버전 업데이트: 93f3a5
  • [bug fix]
    • Trainer.build()시에 data["validation_images"]에 데이터가 존재한다면, 반드시 OK와 NG를 적어도 1개 이상씩 가지고 있어야 합니다.
    • Training시 corruption이 너무 크게 적용되고 있던 문제를 수정했습니다.
    • Corruption을 Gaussian noise로 주고 있던 것에서 psuedo simplex noise로 변경했습니다.
    • Projection layer에 대한 loss를 잘 못 계산하고 있던 문제를 수정했습니다.
    • SaigeToolkit에서 이미지 resize시 기본값으로 cv2를 사용해서 생기던 문제를 수정했습니다.
    • scoremap에 smoothing=0으로 적용되고 있던 것을 smoothing=5로 변경하였습니다.

2.1.1

  • 2023/07/12
  • SaigeToolkit 버전 업데이트: ac99d5
  • [기능 변경]
    • Trainer.build()시에 synthetic_validation 파라미터가 제거되었습니다: validation_images를 넣지 않는 경우 자동으로 synthetic validation을 사용합니다.
    • Synthetic validation 알고리즘이 변경되어 1장의 학습 이미지로도 사용이 가능합니다.
  • [기능 추가]
    • Trainer.get_validation_schedule()시에 density_level 파라미터 추가

2.1.0

  • 2023/07/10
  • [기능 삭제]
    • Trainer.get_total_num_iterations() api 삭제
  • [기능 추가]
    • Trainer.build()시에 synthetic_validationtotal_iterations 파라미터 추가
    • Trainer.get_validation_intervals() 추가: validation을 수행할 iteration 스케줄을 반환합니다.
  • [기능 변경]
    • network_type이름 변경(v2a_fast / v2a_standard / v2a_accurate)
    • 모델이 변경되어 성능이 향상되고 API사용 방식이 변경되었습니다.
    • 이전 버전 모델에 대한 학습은 지원하지 않습니다.
    • 현 버전에서는 Trainer.build()시에 synthetic_validation을 사용하는 경우 학습 이미지가 2장 이상 필요합니다. 다음 버전에서 해당 제한이 사라질 예정입니다.

2.0.8

  • 2023/06/14
  • [bug fix]
    • Trainer.train_one_step()이 끝나고 Trainer.post_train_process()시에 GPU 메모리 에러 해결

2.0.7

  • 2023/06/01
  • SaigeToolkit: 622627b1
  • [bug fix]
    • scoremap에서 score가 0보다 작은 값이 나오는 문제를 해결

2.0.6

  • 2023/05/15
  • [기능 개선]
    • Trainer.to_device() 호출 시 CPU로 보내는 경우 torch.cuda.empty_cache() 호출해 GPU 메모리 일부 해제
  • [기능 추가]
    • Anaylsis API: 모델 빌드 없이 analysis postprocess & summary 수행
  • [기능 변경]

2.0.5

  • 2023/04/18
  • [기능 변경]
    • 기존 Analysis API들은 제거되었습니다.
    • Analysis API가 InferenceHandler.analyze() & InferenceHandler.summarize_analysis() 로 변경되었습니다.

2.0.4

  • 2023/04/14
  • SaigeToolkit: 88a43cee
  • [기능 변경]
    • torch version to 2.0.0+cu118
    • 이름이 변경되었습니다. data_resize -> image_resize_wh Trainer.build

2.0.3

  • 2023/03/24
  • [기능 변경]
    • network_type이름 변경(v2_fast / v2_standard / v2_accurate)
    • 모델 알고리즘 최적화하였습니다.(메모리 사용량 관련)

2.0.2

  • 2023/03/15
  • SaigeToolkit: 1651a98c5
  • [bug fix]
    • SaigeSegmentation==2.0.1 과 함께 사용하는 경우 발생하는 에러 해결

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