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 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 do TFMA

Instalação

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

pip install tensorflow-model-analysis

Construir TFMA a partir da fonte

Para compilar a partir do código-fonte, siga os seguintes passos:

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 TFMA no diretório dist. Para instalar o wheel a partir 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 exige 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 habilitar 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, a 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 na interface do usuário 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 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 de 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 a seta 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 de tensor apache-beam[gcp] pyarrow tensorflow tensorflow-metadados tfx-bsl
Mestre do GitHub 2.38.0 5.0.0 todas as noites (1.x/2.x) 1.8.0 1.8.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 quaisquer dúvidas sobre como trabalhar com o TFMA para o Stack Overflow usando a tag tensorflow-model-analysis .