优化速度

本节中的主题提供了减少 VisionPro Deep Learning 应用程序处理时间的有用提示和技巧。

 

工具和流处理时间

单独工具处理时间在数据库概述中显示,如下所示:

处理时间是上一个处理任务中每个图像的平均处理时间,它是处理时间和后处理时间的总和。

包含多个工具的流的处理时间无法通过 VisionPro Deep Learning GUI 获得,而且由于处理时间包括准备和在工具之间传输视图信息所需的时间,因此无法通过汇总流的工具执行时间来估计处理时间。

考虑流处理时请记住,在调用 Stream.Process() 时,流中工具的处理总是序列化的。一次只能处理一个工具,除非明确使用 Tool.Process() 单个处理工具。

 

吞吐量

VisionPro Deep Learning 中,吞吐量是指每单位时间可以处理的图像总数。如果您的应用程序可以使用不同的线程处理多个流,尽管单独工具处理速度较慢,但可以提高系统吞吐量。

 

软件方面:参数优化

本节中的主题介绍如何最佳地优化各种 VisionPro Deep Learning 工具的参数,以帮助最大限度地提高性能。

参数 特征尺寸 采样密度 颜色通道 精度 迭代
工具 定位、分析、分类 定位、分析、分类 定位、分析、分类 蓝色 红色
处理时间

 

工具参数选择直接影响工具执行速度,但通常在工具速度和准确度或稳健性之间进行权衡。

工具参数 它如何影响速度 最有价值选项 注意...
架构 由于后处理和预处理在逻辑上有差别,高细节模式的处理时间通常比聚焦模式(和 SuaKIT 分割/分类)的处理时间长。    

特征尺寸(聚焦模式)

在运行时,Deep Learning 工具需要对整个输入图像进行采样。特征尺寸确定给定图像大小所需的样本数。特征尺寸越大,样本越少。

特征尺寸越大,O(n2) 速度增加。

较大的特征尺寸可能导致工具遗漏特征或缺陷。

使用参数搜索参数优化实用程序来查找最佳特征尺寸。

采样密度(聚焦模式)

与特征尺寸类似,采样密度决定给定图像尺寸所需的样本数。

采样密度越小,O(n2) 速度增加。

特征或缺陷丢失风险。

细化参数

蓝色定位和红色分析工具包括以下可提供更精确结果的处理时间参数,但执行时间会增加:

  • 蓝色定位工具:精度
  • 红色分析工具:迭代(红色分析聚焦无监督 专家模式)

增加迭代值会线性增加处理时间。

 

低精度(聚焦模式)

如果您的系统满足某些特定要求(CUDA Compute Capability 6.1 或更高版本),则可以为红色分析工具和绿色分类工具使用低精度处理模式。启用低精度模式会将任何现有受训工具转换为在处理过程中使用低精度计算模式,并在将其禁用之前,为未来的所有训练操作生成低精度工具。

Note: 一旦将工具转换为使用低精度模式,必须重新训练该工具以禁用低精度模式。低精度工具的执行速度可比常规精度工具快 25% 至 50%。
采用 Turing Tensor 内核的系统可以对低精度工具提高运行时速度性能。 更改工具以使用低精度模式可能会较小程度地改变工具生成结果。一般而言,高级特征识别、缺陷分类和一般分类将保持不变,但具体特征和缺陷区域和分数可能稍有变化。

 

特征尺寸优化

特征尺寸对处理时间 (n2) 有强烈影响,换句话说,就是特征尺寸 100 的处理时间比尺寸 10 快 100 倍,而特征尺寸小于 15 通常不会产生良好结果。

 

对于训练和运行时,每个 Deep Learning 工具将收集完全覆盖图像范围的图像样本。

特征尺寸与运行所需的时间直接相关,并且在较小程度上训练工具。更大的特征尺寸可以更快地处理,但更大的特征尺寸将无法“看到”或“响应”小特征。

在训练期间,该工具将对输入图像的整个范围进行采样,并且它将对确定包含更多信息的区域进行过度采样。

 

采样密度优化

采样密度参数确定图像的采样密度。数字越小,图像的采样数越少。

采样密度设置为 0.5,比设置为 1 [0(n2)] 快四倍。

 

颜色通道优化

如果您的应用依赖于彩色图像,则仅使用尽可能少的颜色通道,并仅发送已具有正确通道数的图像以避免转换。这是因为:

 

精度优化

蓝色定位工具包含一个唯一参数精度,用于指示工具在达到所需位置精度后停止查找特征的时间。这个参数被设置为要搜索的特征尺寸的百分比:

如果精度等于 400%,定位工具将在 D0 停止

200 %:D1

100 %:与精度匹配

停止标准: 

 

迭代优化

当工具处于专家模式时,红色分析工具 - 无监督模式有一个附加参数迭代。此参数指定工具将对关注区域执行、以便改善局部分析结果的额外迭代次数。

 

软件方面:关注区域 (ROI) 优化

配置关注区域 (ROI) 时,请尝试始终创建尽可能小的 ROI。并且,使用红色分析工具时,应屏蔽图像中与应用无关的所有内容。

 

硬件方面:GPU 优化

以下是在 Windows 上选择 GPU 驱动程序模式的注意事项:

Tesla Compute Cluster (TCC)

  • 仅适用于 NVIDIA RTX / Quadro®、Tesla® 和 GeForce® GTX TITAN(虽然 NVIDIA 未正式传达)。
  • GPU 不能用于显示。
  • 对于 NVIDIA RTX / Quadro®,默认模式为 WDDM。

Windows Display Driver Model (WDDM)

  • 对于 NVIDIA GeForce® 或 NVIDIA RTX / Quadro®。
  • GPU 用于显示和计算。

内存分配时间

  • WDDM >> TCC

多 GPU 配置改进

  • WDDM << TCC

分辨率:

  1. 仅对 TCC 使用 NVIDIA 专业版或 GeForce® GTX TITAN 卡。
  2. 使用VisionPro Deep Learning GPU 内存优化功能。

 

GPU 内存优化

 

VisionPro Deep Learning 内存使用情况:

  • 显示:在计算之前存储图像的存储器
  • VisionPro Deep Learning 预留:预留用于计算的内存
  • 空闲:空闲内存,因为使用的内存量未知

训练示例:

  • 预留内存为 2.5GB(训练的最小值)
  • 可用内存大约 1GB
  • 这导致显卡至少有 3.5GB 的内存

运行时示例:

  • 预留内存为 512MB
  • 可用内存大约 256MB
  • 这导致显卡没有所需的最小内存

 

GPU 内存优化功能(默认激活,使用默认值 2GB)显著提高了 Windows Display Driver Model (WDDM) 驱动程序以及 Tesla Compute Cluster (TCC) 驱动程序的速度。但是,必须仔细选择保留内存,具体取决于应用程序。处理小图像的应用程序将获得最高的性能增益。

 

优点 缺点

在显卡上预留内存

很难估计要预留的正确内存量

内存分配不再浪费时间

 

  • 如果启用此选项,系统将为工具优化预分配 GPU 内存。建议在使用聚焦模式工具(红色分析聚焦 - 监督/无监督、蓝色定位、蓝色读取、绿色分类聚焦)时启用此选项,以加快训练和处理速度。

  • 如果关闭此选项,系统将停止预分配 GPU 内存。建议在训练高细节模式和高细节快速模式(绿色分类高细节、红色分析高细节、绿色分类高细节快速)时关闭此选项,因为这会降低其训练速度。

Note: 在一个流中训练高细节/高细节快速和聚焦模式的多个工具时,不建议启用优化的 GPU 内存(帮助 - 计算设备)。无论您使用多少个 GPU,启用优化的 GPU 内存后,在训练中混合使用两种或多种模式都会在速度方面受到极大的影响。

 

您可以通过 API 或通过命令行参数停用此功能或更改分配设置。

例如,在 .NET API 中,可以设置 control.OptimizedGPUMemory(2.5*1024*1024*1024ul);;在 C API 中,可以设置 vidi_optimized_gpu_memory(2.5*1024*1024*1024);

 

多个 GPU 优化

VisionPro Deep Learning 支持利用多个 GPU 在您的应用程序中分散 GPU 资源。每个 Deep Learning 工具使用一个 GPU 可提供最佳吞吐量,而每个工具使用多个 GPU 可提供最低延迟。此处的吞吐量是指在给定的特定时间内处理的任务量,延迟是指从调用 API 方法到收到处理结果所花费的时间。

  • 吞吐量/秒:1 秒/延迟

  • 吞吐量/分钟:60 秒/延迟

     

有关多 GPU 用法的详细信息,请参阅 NVIDIA GPU 选择和配置配置多个 GPU

 

估计运行时性能

以下数字是不同卡系列潜在运行时性能增量的近似指南(基线 = 非 TensorCore,标准模式):

Deep Learning 操作模式

无 Tensor Core

(例如 GTX)

Volta Tensor Core

(示例 V100)

Turing Tensor Cores

(示例 T4)

标准

100%

150%

150%

低精度

125%

125%

175%

Note: 与其他 Tesla 卡相比,T4 针对运行时操作。它支持 Deep Learning 训练和运行时,但训练性能可能比 V100 慢。