Compartilhar via


TensorFlow + DirectML com Windows ML: detecção de objetos em tempo real do vídeo

Fluxo de classificação de imagem

Este tutorial mostra como treinar e avaliar localmente um modelo de detecção de objetos em tempo real em um aplicativo UWP. O modelo será treinado com o TensorFlow localmente em seu computador por meio das APIs DirectML, que fornece treinamento acelerado de GPU em todos os dispositivos Windows. Em seguida, o modelo treinado será integrado a um aplicativo UWP que usa sua webcam para detectar objetos no quadro em tempo real, localmente usando APIs do Windows ML.

Vamos começar habilitando o TensorFlow em seu computador.

Se você quiser aprender a treinar seu modelo com o TensorFlow, poderá prosseguir para Treinar um Modelo.

Se você tiver um modelo tensorFlow, mas quiser aprender a 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.

Habilitar a aceleração de GPU para TensorFlow com DirectML

Para habilitar o TensorFlow em seu computador, siga as etapas a seguir.

Verificar sua versão do Windows

O TensorFlow com pacote 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 de build executando winver por meio do comando Executar (Windows logo key + R).

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

Verifique se você tem o driver de GPU mais recente instalado. Selecione Verificar se há atualizações na seção Windows Update das Configurações do Windows.

Configurar o TensorFlow com a versão prévia do DirectML

Para uso com o TensorFlow, é recomendável configurar um ambiente virtual do Python dentro do Windows. Várias ferramentas podem ser usadas para configurar um ambiente virtual Python. Para estas instruções, usaremos o Miniconda do Anaconda. O restante dessa configuração pressupõe que você use um ambiente Miniconda.

Configurar o ambiente do Python

Observação

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

Baixe e instale o instalador do Miniconda Windows em seu computador. Se você precisar, haverá diretrizes adicionais para a instalação no site do Anaconda. Depois que o Miniconda for instalado, crie um ambiente usando o Python chamado directml e ative-o por meio dos seguintes comandos:

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

Instalar o Tensorflow com o pacote DirectML

Observação

O tensorflow-directml pacote só dá suporte ao TensorFlow 1.15.

Instale o TensorFlow com o pacote DirectML por meio 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ê deverá ver uma saída semelhante à seguinte, com o operador de adição colocado no dispositivo DML.

Próximas etapas

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

Importante

TensorFlow, o logotipo do TensorFlow e quaisquer marcas relacionadas são marcas comerciais do Google Inc.