Análise do modelo TensorFlow

TensorFlow Model Analysis (TFMA) é uma biblioteca para avaliar modelos do TensorFlow. Permite aos usuários avaliar seus modelos em grandes quantidades de dados de forma distribuída, usando as mesmas métricas definidas em seu treinador. Essas métricas podem ser calculadas em diferentes fatias de dados e visualizadas em notebooks Jupyter.

Navegador de métricas de fatiamento TFMA

Instalação

A forma recomendada de instalar o TFMA é usando o pacote PyPI :

pip install tensorflow-model-analysis

Construir TFMA a partir da fonte

Para construir a partir do código-fonte, siga as seguintes etapas:

Instale o protoc conforme o link mencionado: protoc

Crie um ambiente virtual executando os comandos

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

Isso construirá a roda do TFMA no diretório dist. Para instalar o wheel do diretório dist execute os comandos

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

Pacotes noturnos

A TFMA também hospeda pacotes noturnos em https://pypi-nightly.tensorflow.org no Google Cloud. Para instalar o pacote noturno mais recente, use o seguinte comando:

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

Isso instalará os pacotes noturnos para as principais dependências do TFMA, como TensorFlow Metadata (TFMD), TFX Basic Shared Libraries (TFX-BSL).

Atualmente, o TFMA exige que o TensorFlow esteja instalado, mas não possui uma dependência explícita do pacote TensorFlow PyPI. Consulte os guias de instalação do TensorFlow para obter instruções.

Para habilitar a visualização do TFMA no Jupyter Notebook:

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

Laboratório Jupyter

No momento em que escrevo, por causa de https://github.com/pypa/pip/issues/9187, pip install pode nunca terminar. Nesse caso, você deve reverter o pip para a versão 19 em vez de 20: pip install "pip<20" .

O uso de uma extensão JupyterLab requer a instalação de dependências na linha de comando. Você pode fazer isso no console da IU do JupyterLab ou na linha de comando. Isso inclui a instalação separada de quaisquer dependências do pacote pip e do plug-in JupyterLab labextension, e os números de versão devem ser compatíveis.

Os exemplos abaixo usam 0.27.0. Verifique as versões disponíveis abaixo para usar as mais recentes.

Laboratório Jupyter 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

Laboratório Jupyter 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

Solução de problemas

Verifique os pacotes pip:

pip list

Verifique as extensões:

jupyter labextension list

Dependências notáveis

O TensorFlow é obrigatório.

Apache Beam é necessário; é a forma como a computação distribuída eficiente é suportada. Por padrão, o Apache Beam é executado em modo local, mas também pode ser executado em modo distribuído usando o Google Cloud Dataflow e outros executores do Apache Beam .

Apache Arrow também é necessário. TFMA usa Arrow para representar dados internamente para fazer uso de funções numpy vetorizadas.

Começando

Para obter instruções sobre como usar o TFMA, consulte o guia de primeiros passos .

Versões compatíveis

A tabela a seguir mostra as versões do pacote TFMA que são compatíveis entre si. Isto é determinado pela nossa estrutura de testes, mas outras combinações não testadas também podem funcionar.

análise de modelo de tensorflow feixe apache[gcp] Pyarrow fluxo tensor metadados de tensorflow tfx-bsl
Mestre GitHub 2.47.0 10.0.0 todas as noites (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 n / D 0.15.1
0.15.3 2.16.0 0.15.0 1,15 / 2,0 n / D 0.15.1
0.15.2 2.16.0 0.15.0 1,15 / 2,0 n / D 0.15.1
0.15.1 2.16.0 0.15.0 1,15 / 2,0 n / D 0.15.0
0.15.0 2.16.0 0.15.0 1,15 n / D n / D
0.14.0 2.14.0 n / D 1.14 n / D n / D
0.13.1 2.11.0 n / D 1.13 n / D n / D
0.13.0 2.11.0 n / D 1.13 n / D n / D
0.12.1 2.10.0 n / D 1.12 n / D n / D
0.12.0 2.10.0 n / D 1.12 n / D n / D
0.11.0 2.8.0 n / D 1.11 n / D n / D
0.9.2 2.6.0 n / D 1,9 n / D n / D
0.9.1 2.6.0 n / D 1.10 n / D n / D
0.9.0 2.5.0 n / D 1,9 n / D n / D
0.6.0 2.4.0 n / D 1.6 n / D n / D

Questões

Por favor, direcione qualquer dúvida sobre como trabalhar com TFMA para Stack Overflow usando a tag tensorflow-model-análise .