Skip to content

Data Drift Detection

uddd.DataDriftDetector

Data Drift Detection을 수행하기 위한 class 입니다.

Usage

demo/classification/inference.py 참고

build(task_module, config) classmethod

DataDriftDetector class의 instance를 생성합니다.

Parameters:

Name Type Description Default
task_module ModuleType

Data Drift Detection을 수행할 task의 module입니다.

required
config Dict

build를 위한 config가 담겨 있는 dictionary 입니다.

{
    "checkpoint_path": str,
    "password": str, # checkpoint 파일의 암호입니다. (default None)
    "batch_size": int, # feature를 추출할 때 사용할 batch size입니다. (default 1)
    "device": Union[torch.device, str, int], # 사용할 device입니다. (default "cpu")
    "score_sigma": float, # score를 계산할 때 사용할 sigma 값입니다. (default 1.0)
}

required

Returns:

Name Type Description
DataDriftDetector DataDriftDetector

build가 완료된 data_drift_detector.DataDriftDetector class의 instance를 반환합니다.

check_possibility(task_module, checkpoint_path, password) classmethod

Data Drift Detection이 가능한지 확인합니다. (DDD 준비 과정을 거쳤는지 확인.)

Parameters:

Name Type Description Default
task_module ModuleType

data drift detection을 수행할 task의 module입니다.

required
checkpoint_path str

data drift detection을 수행할 checkpoint 파일의 경로입니다.

required
password str

대상 checkpoint 파일의 암호입니다.

required

Returns:

Type Description
tuple[bool, str]

tuple[bool, str]: (가능 여부, 이유) 튜플입니다. - bool: 가능하면 True, 불가능하면 False를 반환합니다. - str: 결과에 대한 이유 메시지입니다.

data_drift_detection_setup(test_data)

Data Drift Detection을 검사할 test image들에 대한 setup을 수행합니다. setup 후, extract_single_batch_feature함수를 수행해야하는 step 수를 반환합니다.

해당 step 수만큼 extract_single_batch_feature함수를 수행해야 정상적인 data drift detection이 가능합니다.

Parameters:

Name Type Description Default
test_data Union[Dict[str, Dict], List[Dict]]

검사를 수행할 test image들이 담겨 있는 dictionary 또는 list 입니다.

test_data = {
                "{image_id}": {
                    "path": Union[str, List[str]],  # 이미지 경로 (multipage인 경우 경로 리스트)
                },
                ...,  # times number of images
            }
test_data = [{"path": Union[str, List[str]]}, ...] # times number of images

required

Returns:

Name Type Description
int int

extract_single_batch_feature함수를 수행해야하는 step 수를 반환합니다.

extract_single_batch_feature()

한 batch data에 대한 feature를 추출하고 내부 feature_set에 저장합니다.

Returns:

Name Type Description
None None

None

post_extract_feature_process()

feature 추출이 끝난 후, 후처리를 수행합니다.

Returns:

Name Type Description
None None

None

get_data_drift_score()

test data에 대한 data drift score를 계산합니다.

Returns:

Name Type Description
float float

data drift score