TensorFlow + DirectML avec Windows ML : détection d’objets en temps réel à partir de la vidéo
Ce tutoriel montre comment entraîner et évaluer localement un modèle de détection d’objets en temps réel dans une application UWP. Le modèle sera entraîné avec TensorFlow localement sur votre machine via les API DirectML, ce qui permet de bénéficier d’un entraînement accéléré par GPU sur l’ensemble des appareils Windows. Le modèle entraîné va ensuite être intégré à une application UWP qui utilise votre webcam pour détecter des objets dans l’image en temps réel, localement à l’aide des API Windows ML.
Nous allons commencer par activer TensorFlow sur votre ordinateur.
Si vous souhaitez apprendre à entraîner votre modèle avec TensorFlow, accédez à Entraînement d’un modèle.
Si vous avez un modèle TensorFlow, mais que vous souhaitez savoir comment le convertir en un format ONNX approprié pour une utilisation avec les API WinML, consultez Convertir votre modèle.
Si vous avez un modèle et que vous voulez apprendre à créer une application WinML à partir de zéro, accédez à Déployer votre modèle.
Activer l’accélération GPU pour TensorFlow avec DirectML
Pour activer TensorFlow sur votre ordinateur, suivez les étapes ci-dessous.
Vérifier votre version de Windows
Le package TensorFlow avec DirectML sur Windows natif fonctionne sur Windows 10 version 1709 (Build 16299) ou les versions ultérieures de Windows. Vous pouvez vérifier votre numéro de version de build en exécutant winver
via la commande Exécuter (Windows logo key + R
).
Rechercher les mises à jour du pilote GPU
Vérifiez que le pilote de GPU le plus récent est installé. Sélectionnez Rechercher les mises à jour dans la section Windows Update de l’application Paramètres.
Configurer TensorFlow avec DirectML (aperçu)
Pour une utilisation avec TensorFlow, il est recommandé de configurer un environnement Python virtuel dans Windows. Il existe de nombreux outils que vous pouvez utiliser pour configurer un environnement Python virtuel. Dans le cadre de ces instructions, nous allons utiliser miniconda d’Anaconda. Le reste de ce programme d’installation suppose que vous utilisez un environnement miniconda.
Configurer un environnement Python
Remarque
Dans les commandes ci-dessous, nous utilisons Python 3.6. Toutefois, le package tensorflow-directml
fonctionne dans un environnement Python 3.5, 3.6 ou 3.7.
Téléchargez et installez le programme d’installation de Windows Miniconda sur votre ordinateur. Si nécessaire, vous trouverez des instructions supplémentaires pour l’installation sur le site d’Anaconda. Une fois Miniconda installé, créez un environnement à l’aide de Python nommé directml et activez-le à l’aide des commandes suivantes :
conda create --name directml python=3.6
conda activate directml
Installer le package Tensorflow avec DirectML
Remarque
Le package tensorflow-directml
ne prend en charge que TensorFlow 1.15.
Installez le package TensorFlow avec DirectML via PIP en exécutant la commande suivante :
pip install tensorflow-directml
Vérifier l'installation du package
Une fois que vous avez installé le package tensorflow-directml
, vous pouvez vérifier qu’il s’exécute correctement en ajoutant deux tenseurs. Copiez les lignes suivantes dans une session Python interactive :
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]))
Vous devez voir une sortie similaire à ce qui suit, avec l’opérateur d’ajout placé sur l’appareil DML.
Étapes suivantes
Maintenant que vous avez défini les conditions préalables, vous pouvez passer à la création de votre modèle WinML. Dans la partie suivante, vous allez utiliser TensorFlow pour créer votre modèle de détection d’objets en temps réel.
Important
TensorFlow, le logo TensorFlow et toutes les marques associées sont des marques de Google Inc.