Condividi tramite


TensorFlow + DirectML con Windows ML: rilevamento di oggetti in tempo reale dal video

Image classification flow

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.