TensorFlow + DirectML con Windows ML: rilevamento di oggetti in tempo reale dal video
Questa esercitazione illustra come eseguire il training locale e valutare un modello di rilevamento oggetti in tempo reale in un'applicazione UWP. Il training del modello verrà eseguito in locale con TensorFlow nel computer tramite le API DirectML, che fornisce il training accelerato della GPU in tutti i dispositivi Windows. Il modello sottoposto a training verrà quindi integrato in un'app UWP che usa la webcam per rilevare gli oggetti nel frame in tempo reale, usando le API di Windows ML.
Si inizierà abilitando TensorFlow nel computer.
Per informazioni su come eseguire il training del modello con TensorFlow, è possibile passare a Eseguire il training di un modello.
Se si ha un modello TensorFlow, ma si vuole imparare a convertirlo in un formato ONNX adatto per l'uso con le API WinML, vedere Convertire il modello.
Se si ha un modello e si vuole imparare a creare un'app WinML da zero, passare a Distribuisci il modello.
Abilitare l'accelerazione GPU per TensorFlow con DirectML
Per abilitare TensorFlow nel computer, seguire questa procedura.
Controllare la versione di Windows
Il pacchetto TensorFlow con DirectML in Windows nativo funziona in Windows 10 versione 1709 (Build 16299) o versioni successive di Windows. È possibile controllare il numero di versione della build eseguendo winver
tramite il comando Esegui (Windows logo key + R
).
Verificare la disponibilità di aggiornamenti dei driver GPU
Assicurarsi di avere installato il driver GPU più recente. Selezionare Controlla la disponibilità di aggiornamenti nella sezione Windows Update dell'app Impostazioni.
Configurare TensorFlow con l'anteprima di DirectML
Per l'uso con TensorFlow, è consigliabile configurare un ambiente Python virtuale in Windows. Sono disponibili molti strumenti che è possibile usare per configurare un ambiente Python virtuale. Per queste istruzioni si userà la miniconda di Anaconda. Il resto di questa configurazione presuppone l'uso di un ambiente miniconda.
Configurare l'ambiente Python
Nota
Nei comandi seguenti si usa Python 3.6. Tuttavia, il tensorflow-directml
pacchetto funziona in un ambiente Python 3.5, 3.6 o 3.7.
Scaricare e installare il programma di installazione di Windows Miniconda nel computer. Se necessario, sono disponibili indicazioni aggiuntive per la configurazione nel sito di Anaconda. Dopo aver installato Miniconda, creare un ambiente usando Python denominato directml e attivarlo tramite i comandi seguenti:
conda create --name directml python=3.6
conda activate directml
Installare Tensorflow con il pacchetto DirectML
Nota
Il tensorflow-directml
pacchetto supporta solo TensorFlow 1.15.
Installare TensorFlow con il pacchetto DirectML tramite pip eseguendo il comando seguente:
pip install tensorflow-directml
Verificare l'installazione del pacchetto
Dopo aver installato il tensorflow-directml
pacchetto, è possibile verificare che venga eseguito correttamente aggiungendo due tensori. Copiare le righe seguenti in una sessione interattiva di 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]))
L'output dovrebbe essere simile al seguente, con l'operatore add posizionato nel dispositivo DML.
Passaggi successivi
Dopo aver ottenuto i prerequisiti ordinati, è possibile procedere alla creazione del modello WinML. Nella parte successiva si userà TensorFlow per creare il modello di rilevamento oggetti in tempo reale.
Importante
TensorFlow, il logo TensorFlow e tutti i marchi correlati sono marchi di Google Inc.