TensorFlow + DirectML com Windows ML: Detecção de objetos em vídeos em tempo real
Este tutorial mostra como treinar e avaliar localmente um modelo de detecção de objetos em tempo real em um aplicativo UWP. O modelo vai ser treinado com o TensorFlow localmente no seu computador por meio das APIs do DirectML, o que fornece um treinamento acelerado por GPU em todos os dispositivos Windows. Em seguida, o modelo treinado vai ser integrado a um aplicativo UWP que usa a webcam para detectar objetos no quadro em tempo real, usando localmente as APIs do Windows ML.
Comece habilitando o TensorFlow no seu computador.
Se você quer aprender a treinar o modelo com o TensorFlow, siga para Treinar um modelo.
Se você tem um modelo do TensorFlow, mas quer saber como convertê-lo em um formato ONNX adequado para uso com as APIs do WinML, consulte converter seu modelo.
Se você tem um modelo e quer aprender a criar um aplicativo do WinML do zero, navegue até Implantar seu modelo.
Habilitar a aceleração por GPU para TensorFlow com DirectML
Para habilitar o TensorFlow no seu computador, siga as etapas abaixo.
Verifique sua versão do Windows
O pacote do TensorFlow com DirectML no Windows nativo funciona no Windows 10 versão 1709 (Build 16299) ou em versões posteriores do Windows. Você pode verificar o número de versão do build executando winver
por meio do comando Executar (Windows logo key + R
).
Verificar se há atualizações de driver da GPU
Certifique-se de que você tem os drivers de GPU mais recentes instalados. Selecione Verificar atualizações na seção do Windows Update do aplicativo de Configurações.
Configurar o TensorFlow com a versão prévia do DirectML
Para uso com 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 desta configuração pressupõe que você esteja usando um ambiente do miniconda.
Configurar um ambiente do Python
Observação
Nos comandos abaixo, é usado o Python 3.6. No entanto, o pacote tensorflow-directml
funciona em um ambiente do Python 3.5, 3.6 ou 3.7.
Baixe e instale o instalador de miniconda do Windows no seu computador. Se for necessário, há diretrizes adicionais para 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 pacote do TensorFlow com DirectML
Observação
O pacote tensorflow-directml
dá suporte apenas ao TensorFlow 1.15.
Instale o pacote do TensorFlow com DirectML por meio do pip executando o seguinte comando:
pip install tensorflow-directml
Verificar a instalação do pacote
Depois de instalar o pacote tensorflow-directml
, verifique 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 à abaixo, com o operador add posicionado no dispositivo DML.
Próximas etapas
Agora que você já resolveu os pré-requisitos, você pode seguir para a criação do modelo do WinML. Na próxima etapa, você vai usar o TensorFlow para criar seu modelo de detecção de objetos em tempo real.
Importante
TensorFlow, o logotipo do TensorFlow e todas as marcas relacionadas são marcas registradas da Google Inc.