TensorFlow 모델 분석

TFMA( TensorFlow Model Analysis )는 TensorFlow 모델을 평가하기 위한 라이브러리입니다. 이를 통해 사용자는 트레이너에 정의된 동일한 측정항목을 사용하여 분산 방식으로 대량의 데이터에 대한 모델을 평가할 수 있습니다. 이러한 측정항목은 다양한 데이터 조각에 대해 계산되고 Jupyter 노트북에서 시각화될 수 있습니다.

TFMA 슬라이싱 메트릭 브라우저

설치

TFMA를 설치하는 데 권장되는 방법은 PyPI 패키지를 사용하는 것입니다.

pip install tensorflow-model-analysis

소스에서 TFMA 빌드

소스에서 빌드하려면 다음 단계를 따르세요.

언급된 링크에 따라 protoc을 설치하십시오: protoc

명령을 실행하여 가상 환경을 만듭니다.

python3 -m venv <virtualenv_name>
source <virtualenv_name>/bin/activate
pip3 install setuptools wheel
git clone https://github.com/tensorflow/model-analysis.git
cd model-analysis
python3 setup.py bdist_wheel

그러면 dist 디렉토리에 TFMA 휠이 빌드됩니다. dist 디렉토리에서 휠을 설치하려면 다음 명령을 실행하십시오.

cd dist
pip3 install tensorflow_model_analysis-<version>-py3-none-any.whl

야간 패키지

TFMA는 또한 Google Cloud의 https://pypi-nightly.tensorflow.org 에서 야간 패키지를 호스팅합니다. 최신 nightly 패키지를 설치하려면 다음 명령을 사용하십시오.

pip install -i https://pypi-nightly.tensorflow.org/simple tensorflow-model-analysis

이렇게 하면 TensorFlow Metadata(TFMD), TFX Basic Shared Libraries(TFX-BSL)와 같은 TFMA의 주요 종속성을 위한 Nightly 패키지가 설치됩니다.

현재 TFMA에서는 TensorFlow가 설치되어 있어야 하지만 TensorFlow PyPI 패키지에 대한 명시적인 종속성은 없습니다. 지침은 TensorFlow 설치 가이드를 참조하세요.

Jupyter Notebook에서 TFMA 시각화를 활성화하려면 다음 안내를 따르세요.

  jupyter nbextension enable --py widgetsnbextension
  jupyter nbextension enable --py tensorflow_model_analysis

주피터 연구소

글을 쓰는 시점에서 https://github.com/pypa/pip/issues/9187 로 인해 pip install 완료되지 않을 수 있습니다. 이 경우 pip를 버전 20 대신 19로 되돌려야 합니다: pip install "pip<20" .

JupyterLab 확장 프로그램을 사용하려면 명령줄에 종속 항목을 설치해야 합니다. JupyterLab UI의 콘솔이나 명령줄에서 이 작업을 수행할 수 있습니다. 여기에는 pip 패키지 종속성과 JupyterLab labextension 플러그인 종속성을 별도로 설치하는 것이 포함되며 버전 번호는 호환되어야 합니다.

아래 예에서는 0.27.0을 사용합니다. 최신 버전을 사용하려면 아래에서 사용 가능한 버전을 확인하세요.

주피터 랩 1.2.x

pip install tensorflow_model_analysis==0.27.0
jupyter labextension install tensorflow_model_analysis@0.27.0
jupyter labextension install @jupyter-widgets/jupyterlab-manager@1.1

주피터 랩 2

pip install tensorflow_model_analysis==0.27.0
jupyter labextension install tensorflow_model_analysis@0.27.0
jupyter labextension install @jupyter-widgets/jupyterlab-manager@2

문제 해결

pip 패키지를 확인하세요.

pip list

확장 프로그램 확인:

jupyter labextension list

주목할만한 종속성

텐서플로우가 필요합니다.

Apache Beam이 필요합니다. 효율적인 분산 계산이 지원되는 방식입니다. 기본적으로 Apache Beam은 로컬 모드에서 실행되지만 Google Cloud Dataflow 및 기타 Apache Beam 실행기를 사용하여 분산 모드에서 실행될 수도 있습니다.

Apache Arrow 도 필요합니다. TFMA는 벡터화된 numpy 함수를 사용하기 위해 Arrow를 사용하여 내부적으로 데이터를 표현합니다.

시작하기

TFMA 사용에 대한 지침은 시작 가이드를 참조하세요.

호환 가능한 버전

다음 표는 서로 호환되는 TFMA 패키지 버전입니다. 이는 테스트 프레임워크에 따라 결정되지만 테스트되지 않은 다른 조합도 작동할 수 있습니다.

텐서플로우 모델 분석 아파치-빔[gcp] pyarrow 텐서플로우 텐서플로우 메타데이터 tfx-bsl
GitHub 마스터 2.47.0 10.0.0 야간(2.x) 1.15.0 1.15.1
0.46.0 2.47.0 10.0.0 2.15 1.15.0 1.15.1
0.45.0 2.47.0 10.0.0 2.13 1.14.0 1.14.0
0.44.0 2.40.0 6.0.0 2.12 1.13.1 1.13.0
0.43.0 2.40.0 6.0.0 2.11 1.12.0 1.12.0
0.42.0 2.40.0 6.0.0 1.15 / 2.10 1.11.0 1.11.0
0.41.1 2.40.0 6.0.0 1.15 / 2.9 1.10.0 1.10.1
0.41.0 2.40.0 6.0.0 1.15 / 2.9 1.10.0 1.10.1
0.40.0 2.38.0 5.0.0 1.15 / 2.9 1.9.0 1.9.0
0.39.0 2.38.0 5.0.0 1.15 / 2.8 1.8.0 1.8.0
0.38.0 2.36.0 5.0.0 1.15 / 2.8 1.7.0 1.7.0
0.37.0 2.35.0 5.0.0 1.15 / 2.7 1.6.0 1.6.0
0.36.0 2.34.0 5.0.0 1.15 / 2.7 1.5.0 1.5.0
0.35.0 2.33.0 5.0.0 1.15 / 2.6 1.4.0 1.4.0
0.34.1 2.32.0 2.0.0 1.15 / 2.6 1.2.0 1.3.0
0.34.0 2.31.0 2.0.0 1.15 / 2.6 1.2.0 1.3.1
0.33.0 2.31.0 2.0.0 1.15 / 2.5 1.2.0 1.2.0
0.32.1 2.29.0 2.0.0 1.15 / 2.5 1.1.0 1.1.1
0.32.0 2.29.0 2.0.0 1.15 / 2.5 1.1.0 1.1.0
0.31.0 2.29.0 2.0.0 1.15 / 2.5 1.0.0 1.0.0
0.30.0 2.28.0 2.0.0 1.15 / 2.4 0.30.0 0.30.0
0.29.0 2.28.0 2.0.0 1.15 / 2.4 0.29.0 0.29.0
0.28.0 2.28.0 2.0.0 1.15 / 2.4 0.28.0 0.28.0
0.27.0 2.27.0 2.0.0 1.15 / 2.4 0.27.0 0.27.0
0.26.1 2.28.0 0.17.0 1.15 / 2.3 0.26.0 0.26.0
0.26.0 2.25.0 0.17.0 1.15 / 2.3 0.26.0 0.26.0
0.25.0 2.25.0 0.17.0 1.15 / 2.3 0.25.0 0.25.0
0.24.3 2.24.0 0.17.0 1.15 / 2.3 0.24.0 0.24.1
0.24.2 2.23.0 0.17.0 1.15 / 2.3 0.24.0 0.24.0
0.24.1 2.23.0 0.17.0 1.15 / 2.3 0.24.0 0.24.0
0.24.0 2.23.0 0.17.0 1.15 / 2.3 0.24.0 0.24.0
0.23.0 2.23.0 0.17.0 1.15 / 2.3 0.23.0 0.23.0
0.22.2 2.20.0 0.16.0 1.15 / 2.2 0.22.2 0.22.0
0.22.1 2.20.0 0.16.0 1.15 / 2.2 0.22.2 0.22.0
0.22.0 2.20.0 0.16.0 1.15 / 2.2 0.22.0 0.22.0
0.21.6 2.19.0 0.15.0 1.15 / 2.1 0.21.0 0.21.3
0.21.5 2.19.0 0.15.0 1.15 / 2.1 0.21.0 0.21.3
0.21.4 2.19.0 0.15.0 1.15 / 2.1 0.21.0 0.21.3
0.21.3 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0
0.21.2 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0
0.21.1 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0
0.21.0 2.17.0 0.15.0 1.15 / 2.1 0.21.0 0.21.0
0.15.4 2.16.0 0.15.0 1.15 / 2.0 해당 없음 0.15.1
0.15.3 2.16.0 0.15.0 1.15 / 2.0 해당 없음 0.15.1
0.15.2 2.16.0 0.15.0 1.15 / 2.0 해당 없음 0.15.1
0.15.1 2.16.0 0.15.0 1.15 / 2.0 해당 없음 0.15.0
0.15.0 2.16.0 0.15.0 1.15 해당 없음 해당 없음
0.14.0 2.14.0 해당 없음 1.14 해당 없음 해당 없음
0.13.1 2.11.0 해당 없음 1.13 해당 없음 해당 없음
0.13.0 2.11.0 해당 없음 1.13 해당 없음 해당 없음
0.12.1 2.10.0 해당 없음 1.12 해당 없음 해당 없음
0.12.0 2.10.0 해당 없음 1.12 해당 없음 해당 없음
0.11.0 2.8.0 해당 없음 1.11 해당 없음 해당 없음
0.9.2 2.6.0 해당 없음 1.9 해당 없음 해당 없음
0.9.1 2.6.0 해당 없음 1.10 해당 없음 해당 없음
0.9.0 2.5.0 해당 없음 1.9 해당 없음 해당 없음
0.6.0 2.4.0 해당 없음 1.6 해당 없음 해당 없음

질문

TFMA 작업에 대한 질문이 있으면 tensorflow-model-analytic 태그를 사용하여 Stack Overflow 에 문의하세요.