반응형
머신러닝 파이프라인에 TFDV 통합하기
TFX는 StatisticsGen이라는 파이프라인 컴포넌트를 제공한다. 이는 이전 ExampleGen 컴포넌트의 출력을 입력으로 받아 통계를 생성한다.
from tfx.components import StatisticsGen
from tfx.orchestration.experimental.interactive.interactive_context import InteractiveContext
context = InteractiveContext()
statistics_gen = StatisticsGen(examples=example_gen.outputs['example'])
context.run(statistics_gen)
InteractiveContext를 이용해 다음과 같이 출력을 시각화할 수 있다.
context.show(statistics_gen.outputs['statistics'])
또한, SchemaGen이라는 컴포넌트를 이용하여 스키마를 생성할 수도 있다. 이 컴포넌트는 스키마가 없을 때만 작동하여 스키마를 생성한다.
from tfx.components import SchemaGen
schema_gen = SchemaGen(statistics=statistics_gen.outputs['statistics'],
infer_feature_shape=True)
context.run(schema_gen)
이렇게 생성된 통계와 스키마를 사용하여, 새로운 데이터셋을 검증할 수 있다.
from tfx.components import ExampleValidator
example_validator = ExampleValidator(statistics=statistics_gen.outputs['statistics'],
schema=schema_gen.outputs['schema'])
context.run(example_validator)
NOTE
ExampleValidator는 앞에서 설명한 skew 및 drift comparator를 사용하려 스키마 관련 이상치를 자동으로 탐지한다. 하지만 이는 모든 잠재 이상치를 포함하지 않는 경우가 있을 수 있으므로, 특정 이상치를 탐지해야 하는 경우 사용자 지정 컴포넌트를 사용하는 것이 바람직하다.
ExampleValidator 컴포넌트가 새 데이터셋과 이전 데이터셋 사이의 데이터셋 통계나 스키마에서 잘못된 정렬을 감지하면, 메타데이터스토어에서 상태를 failed로 설정하고 파이프라인을 중지한다. 이상치가 감지되지 않으면 다음 단계(데이터 전처리)로 이동한다.
반응형
'MLOps' 카테고리의 다른 글
TFT를 이용한 데이터 전처리 (0) | 2022.01.05 |
---|---|
데이터 전처리 (0) | 2022.01.04 |
GCP를 사용한 대용량 데이터셋 처리 (0) | 2022.01.02 |
데이터 인식 (0) | 2021.12.31 |
데이터 검증 (0) | 2021.12.27 |
댓글