本教程介绍如何在 UWP 应用程序中本地训练和评估实时对象检测模型。 该模型将通过 DirectML API 在您的计算机上本地使用 TensorFlow 进行训练,DirectML API 可在所有 Windows 设备上提供 GPU 加速训练。 然后,经过训练的模型将集成到 UWP 应用中,该应用使用网络摄像头通过 Windows ML API 在本地实时检测帧中的对象。
首先,我们将在您的计算机上启用 TensorFlow。
如果您想了解如何使用 TensorFlow 训练模型,可以继续 训练模型。
如果你有 TensorFlow 模型,但想要了解如何将其转换为适合与 WinML API 一起使用的 ONNX 格式,请参阅 转换模型。
如果你有一个模型,并且想要了解如何从头开始创建 WinML 应用,请导航到 部署模型。
使用 DirectML 为 TensorFlow 启用 GPU 加速
要在计算机上启用 TensorFlow,请继续执行以下步骤。
检查你的 Windows 版本
原生 Windows 上的带有 DirectML 的 TensorFlow 软件包适用于 Windows 10 版本 1709(内部版本 16299)或更高版本的 Windows。 您可以通过 Run 命令 ()Windows logo key + R
运行winver
来检查您的内部版本号。
检查 GPU 驱动程序更新
确保已安装最新的 GPU 驱动程序。 在“设置”应用的“Windows 更新”部分选择“检查更新”。
使用 DirectML 预览版设置 TensorFlow
为了与 TensorFlow 一起使用,我们建议在 Windows 中设置一个虚拟 Python 环境。 您可以使用许多工具来设置虚拟 Python 环境 — 对于这些说明,我们将使用 Anaconda 的 miniconda。 此设置的其余部分假定您使用 miniconda 环境。
设置 Python 环境
注释
在下面的命令中,我们使用 Python 3.6。 但是,该 tensorflow-directml
软件包可在 Python 3.5、3.6 或 3.7 环境中使用。
在您的机器上下载并安装 Miniconda Windows 安装程序 。 如果需要,Anaconda 的网站上提供了 额外的设置指南 。 安装 Miniconda 后,使用 Python 创建一个名为 directml 的环境,并通过以下命令将其激活:
conda create --name directml python=3.6
conda activate directml
使用 DirectML 包安装 Tensorflow
注释
该 tensorflow-directml
软件包仅支持 TensorFlow 1.15。
通过运行以下命令,通过 pip 安装带有 DirectML 的 TensorFlow 包:
pip install tensorflow-directml
验证包安装
安装 tensorflow-directml
软件包后,您可以通过添加两个张量来验证它是否正常运行。 将以下行复制到交互式 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]))
您应该会看到类似于以下内容的输出,其中 add 运算符位于 DML 设备上。
后续步骤
现在,您已经解决了先决条件,可以继续创建 WinML 模型。 在下一部分中,您将使用 TensorFlow 创建实时对象检测模型。
重要
TensorFlow、TensorFlow 徽标和任何相关标志是 Google Inc. 的商标。