Análise do modelo TensorFlow

O TensorFlow Model Analysis (TFMA) é uma biblioteca para avaliar modelos do TensorFlow. Ele permite que os usuários avaliem seus modelos em grandes quantidades de dados de maneira distribuída, usando as mesmas métricas definidas em seu treinador. Essas métricas podem ser computadas em diferentes fatias de dados e visualizadas em notebooks Jupyter.

Navegador de métricas de divisão do TFMA

Instalação

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

pip install tensorflow-model-analysis

Crie TFMA a partir da fonte

Para compilar 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 criará a roda TFMA no diretório dist. Para instalar a roda do diretório dist, execute os comandos

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

Pacotes noturnos

O 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 requer que o TensorFlow esteja instalado, mas não tem uma dependência explícita do pacote TensorFlow PyPI. Consulte os guias de instalação do TensorFlow para obter instruções.

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

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

Laboratório Jupyter

Até o momento, 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 da 20: pip install "pip<20" .

O uso de uma extensão do JupyterLab requer a instalação de dependências na linha de comando. Você pode fazer isso no console na IU do JupyterLab ou na linha de comando. Isso inclui instalar separadamente quaisquer dependências do pacote pip e dependências 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 a mais recente.

Jupyter Lab 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.

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

Apache Arrow também é necessário. O 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 introdução .

Versões Compatíveis

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

análise de modelo de fluxo tensor apache-beam[gcp] pirarrow tensorflow tensorflow-metadata tfx-bsl
GitHub mestre 2.40.0 6.0.0 todas as noites (2.x) 1.13.1 1.13.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

Dirija quaisquer perguntas sobre como trabalhar com TFMA para Stack Overflow usando a tag tensorflow-model-analysis .