tensorflow/model-analysis

Model analysis tools for TensorFlow

TensorFlow Model Analysis (TFMA)

무엇인가요 – TFMA는 대규모 데이터셋에서 TensorFlow 모델을 평가할 수 있는 Python 라이브러리입니다. 학습 시 작성한 메트릭 정의를 재사용하고, Apache Beam을 통해 분산 방식으로 평가를 실행하며, 특성 값별로 결과를 슬라이스(예: 국가별, 연령대별)하여 Jupyter 노트북에서 탐색할 수 있습니다.

주요 기능

  • 스케일링 가능한 평가 – 로컬 머신 또는 Google Cloud Dataflow와 같은 분산 러너에서 작동 가능.
  • 슬라이스 기반 메트릭 – 추가 코드 없이 임의의 데이터 슬라이스(예: 국가별, 연령대별)에 대한 메트릭을 계산할 수 있습니다.
  • 시각화 – 내장된 Jupyter 위젯과 슬라이스-메트릭 브라우저를 통해 결과를 인터랙티브하게 확인할 수 있습니다.
  • 통합 포인트 – TFX 파이프라인, Kubeflow Pipelines와 호환되며, 자체 포함형 HTML 리포트로 내보낼 수 있습니다.

설치

# PyPI에서 표준 설치
pip install tensorflow-model-analysis

# 나이트리 빌드 (최신 버전이 필요할 경우)
pip install -i https://pypi-nightly.tensorflow.org/simple tensorflow-model-analysis

# 리포지토리에서 직접 설치 (예: 특정 태그)
pip install git+https://github.com/tensorflow/model-analysis.git@v0.21.3#egg=tensorflow_model_analysis

TFMA는 TensorFlow를 자동으로 다운로드하지 않습니다. 호환 가능한 TensorFlow 버전이 별도로 설치되어 있어야 합니다.

일반적인 워크플로우

  1. 학습 코드에서 메트릭 정의 (예: tf.keras.metrics.AUC).
  2. 메트릭을 가리키고, 선택적으로 슬라이싱 사양을 정의하는 EvalConfig 생성.
  3. TFMA 실행 – Python API (tfma.run_model_analysis) 또는 TFX 컴포넌트로 실행. 내부적으로 Apache Beam 파이프라인을 구성하여 예제를 읽고 모델을 적용한 후 메트릭을 집계합니다.
  4. 결과 탐색 – 생성된 tfma 노트북을 열거나 JupyterLab의 tfma 위젯을 사용하여 슬라이스별 테이블과 차트를 탐색합니다.

Jupyter 통합

  • 해당하는 JupyterLab 확장 프로그램 설치 (예: jupyter labextension install tensorflow_model_analysis@0.32.0).
  • 클래식 Jupyter용 노트북 확장 프로그램 활성화 (jupyter nbextension enable --py tensorflow_model_analysis).
  • 제공된 tfma 위젯을 사용하여 노트북 내에서 인터랙티브한 테이블을 직접 렌더링합니다.

의존성

  • TensorFlow – 핵심 머신러닝 프레임워크.
  • Apache Beam – 분산 계산을 구동 (기본적으로 로컬에서 실행 가능, Dataflow, Spark, Flink 등으로 타겟팅 가능).
  • Apache Arrow – 효율적인 메모리 내 컬럼 형식 데이터 처리에 사용.

시작하기 – 리포지토리의 get-started 가이드를 참조하세요: https://github.com/tensorflow/model-analysis/blob/master/g3doc/get_started.md.

버전 호환성 – README에는 TFMA 릴리스와 TensorFlow, Apache Beam, PyArrow, 기타 TFX 컴포넌트의 특정 버전 간의 상세한 매트릭스가 포함되어 있습니다. 스택 전체와 일치하는 TFMA 버전을 선택하세요.

지원 – 질문은 Stack Overflow의 tensorflow-model-analysis 태그에서 답변됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트