Partilhar via


TensorFlow + DirectML com Windows ML: deteção de objetos em tempo real a partir de vídeo

Fluxo de classificação de imagens

Este tutorial mostra como treinar e avaliar localmente um modelo de deteção de objeto em tempo real em um aplicativo UWP. O modelo será treinado com o TensorFlow localmente em sua máquina por meio das APIs DirectML, que fornecem treinamento acelerado por GPU em todos os dispositivos Windows. O modelo treinado será então integrado a um aplicativo UWP que usa sua webcam para detetar objetos no quadro em tempo real, localmente usando APIs de ML do Windows.

Começaremos ativando o TensorFlow em sua máquina.

Se você quiser aprender como treinar seu modelo com o TensorFlow, você pode prosseguir para Train a Model.

Se você tiver um modelo TensorFlow, mas quiser aprender como convertê-lo em um formato ONNX adequado para uso com APIs WinML, consulte converter seu modelo.

Se você tiver um modelo e quiser aprender a criar um aplicativo WinML do zero, navegue até Implantar seu modelo.

Habilite a aceleração da GPU para o TensorFlow com DirectML

Para habilitar o TensorFlow em sua máquina, siga as etapas a seguir.

Verifique a sua versão do Windows

O pacote TensorFlow com DirectML no Windows nativo funciona no Windows 10 Versão 1709 (Build 16299) ou versões posteriores do Windows. Você pode verificar o número da versão da compilação executando winver através do comando Run (Windows logo key + R).

Verifique se há atualizações de driver de GPU

Certifique-se de ter o driver de GPU mais recente instalado. Selecione Verificar se há atualizações na seção Windows Update do aplicativo Configurações .

Configurar o TensorFlow com a prévia do DirectML

Para uso com o TensorFlow, é recomendável configurar um ambiente Python virtual dentro do Windows. Há muitas ferramentas que você pode usar para configurar um ambiente Python virtual — para estas instruções, usaremos o miniconda do Anaconda. O restante desta configuração pressupõe que utilizes um ambiente miniconda.

Configurar ambiente Python

Observação

Nos comandos abaixo, usamos Python 3.6. No entanto, o tensorflow-directml pacote funciona em um ambiente Python 3.5, 3.6 ou 3.7.

Transfira e instale o instalador Miniconda Windows na sua máquina. Se você precisar, há orientações adicionais para a configuração no site da Anaconda. Uma vez instalado o Miniconda, crie um ambiente usando Python chamado directml e ative-o através dos seguintes comandos:

conda create --name directml python=3.6 conda activate directml

Instalar o pacote Tensorflow com DirectML

Observação

O tensorflow-directml pacote suporta apenas TensorFlow 1.15.

Instale o pacote TensorFlow com DirectML através do pip executando o seguinte comando:

pip install tensorflow-directml

Verificar a instalação do pacote

Depois de instalar o tensorflow-directml pacote, você pode verificar se ele é executado corretamente adicionando dois tensores. Copie as seguintes linhas em uma sessão interativa do Python:

import tensorflow.compat.v1 as tf 

tf.enable_eager_execution(tf.ConfigProto(log_device_placement=True)) 

print(tf.add([1.0, 2.0], [3.0, 4.0])) 

Você deve ver uma saída semelhante à seguinte, com o operador de adição colocado no dispositivo DML.

Próximas Etapas

Agora que você tem seus pré-requisitos resolvidos, você pode prosseguir para a criação do seu modelo WinML. Na próxima parte, você usará o TensorFlow para criar seu modelo de deteção de objetos em tempo real.

Importante

TensorFlow, o logótipo TensorFlow e quaisquer marcas relacionadas são marcas comerciais da Google Inc.