我们正在完成致力于深度学习和
Intel OpenVINO Toolkit 的 Habr标题的
下一个迭代 ,“向英特尔专家询问问题”。 由于我们不清楚的原因,这次Habra读者的活动比往常要低得多,但是,英特尔并没有热心人-完整性方面遗漏的问题是在离线状态下收集的。 是的,根据传统,在有关他的帖子末尾,我们也有一个针对最佳问题的竞赛获胜者。

问题
OpenVINO用户可以提供什么好处?为什么要使用它?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 该产品的主要优点是性能,最小尺寸和几乎为零的依赖关系。 这些要求是我们选拔产品开发中的主要要求。
该产品是实现使用深度学习和计算机视觉解决问题的应用程序的理想选择。 例如,与流行的框架相比,我们产品在Intel平台上的计算网络时的性能要高出好几倍。 我们对已用内存的要求也大大降低,这与许多应用程序有关。 顺带一提,在某些平台上,由于内存不足,无法使用框架启动网络。

问题
是否可以在Intel平台上使用OpenVINO训练网络? 说,这很有趣,可以在Nervana平台上进行训练吗?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 否,产品中不包含培训支持。 我们获得的大部分改进正是由于我们不希望将产品用于培训(例如,重用内存,融合图层等)这一事实。

问题
您为什么不能只使用训练网络运行神经网络的框架? 与框架相比,深度学习推理引擎提供了什么? 为什么我需要更改任何内容?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 当然可以使用。 但是,如果您需要最佳性能,那么选择OpenVINO就很容易解释了。
深度学习推理引擎的性能目前在英特尔平台上是最好的。 我们将结果与流行的框架进行比较;在这里重复它们可能没有意义。 我只能说,即使是使用Intel库的框架版本也会在我们的产品中失去性能。
此外,深度学习推理引擎是唯一支持在所有英特尔平台上运行各种操作系统的流行框架网络启动的产品。 我将以以下情形为例:
- 只有通过OpenVINO才能在FPGA上运行网络
- 在英特尔GPU和Movidius上启动Caffe / TensorFlow / MXNet网络。
- 在运行Windows操作系统的英特尔平台上的网络上全面启动
通常,运行Windows是另一回事。 并非所有框架都支持这种即用的启动方式;例如,运行caffe并不是很简单。 TensorFlow提供适用于Windows的二进制文件,但是如果您需要进行修改和重建-可能会有问题。 同时,我们看到经常需要在Windows上运行。

问题
S_o_T网络架构中间表示的未来格式是什么? OpenVINO是否计划支持NNEF?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 当前,ONNX是最受欢迎的标准。 相反,这是Facebook,Microsoft和其他参与者提供支持的结果。 特别是WinML接受ONNX的执行,并提供了使用此格式的良好工具。 我对总体上将这些事情标准化表示怀疑。 不幸的是,实践表明,这种对话一旦进入标准化委员会的水平,而负责销售其产品的各个公司的代表就坐在那里,则进展就受到了严重的阻碍。 已经存在一个问题,即ONNX不足以表达一组现有网络。 例如,Facebook本身开发的Mask-RCNN在ONNX上不受支持。 以及SSD和Faster-RCNN系列的网络。
我们不考虑NNEF支持-没有客户的要求,客观上来说,该标准并不常用。 在实践中,我只看到此标准使用过一次。 顺便说一句,该公司与Khronos集团签有合同。
有哪些工具可以同时推断多个网络来分析Intel GPU的性能?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 我认为最合适的产品是英特尔vTune。 我们自己在开发中使用它,显示了很多有用的信息,而且,如果至少在基本水平上掌握了该产品,这将是一个很大的帮助。 顺便说一下,深度学习推理引擎支持自己实现层的能力。 并且在此实现过程中,您可能仍必须使用探查器才能获得最佳性能。

提问
Hanry396研究人员已经确定了针对17种不同疾病(例如肾癌或帕金森氏病)的独特“呼吸烙印”,并开发了一种设备,该设备使用一系列纳米级传感器显示呼吸样本的准确度为86%,并使用人工智能方法分析结果。 与此相关的是,出现了一个问题:“您认为,人工智能可以在医学上发展到什么程度,并且可以将人脑与计算机结合起来吗?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 目前医学上人工智能的发展已经在进行,主要是在相当基本的水平上进行的,但是步骤已经很清楚地追踪到了。 使用网络对MRI图像进行分割的方法正变得越来越流行,我们的客户已经在分析用于此类任务的最高效的平台-证明产品已准备好发布。 对我来说似乎很重要,经常使用网络不仅追求加速的目标,而且还提高了诊断的质量。
关于计算机与人脑的协同作用,到目前为止,您都很难想到。 至少,与人类的大脑相比,当前解决AI问题的方法显得笨拙。

问题
引擎rr_7我尝试将openVINO和ROS集成在一起,但没有成功,问题是如何将OpenVINO正确地集成到ROS中?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 回答这个问题有些困难,不清楚是什么没有解决。 最基本的方法可以是将特定的ROS节点与OpenVINO链接。 我们自己使用了这种方法,它奏效了。
我建议在
我们的论坛上提出更详细的问题,他们会在这里为您提供帮助,我们的团队会在此与产品支持团队一起回答问题。
在生物医学图像的处理中,经常使用五维输入数据,三维卷积和其他操作。 有计划/计划的支持吗? 是否/计划支持递归网络,具有公共参数集的网络(或单独的层)?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 是的,我们计划并实现对三维卷积和池化的支持。 我认为我们可以期望在今年年底之前发布该产品的支持版本。 也将支持循环网络(LSTM / RNN)。

问题
为什么OpenVINO包含二进制形式的OpenCV库? 毕竟,任何人都可以自己下载并构建它。
尤里·戈尔巴乔夫(Yuri Gorbachev)。 原因很普遍。 OpenCV具有源代码形式,而构建它本质上是一项简单的任务。 构建最有效的程序包会有些困难。 通常这会引起问题,我们决定只提供成品包装。 我们不使用任何特殊的魔术,而是使用正确的选项正确构建。
当然,使用它是可选的,但是我建议您将应用程序与它以及自定义构建的性能进行比较。 在某些情况下,客户之所以能够加速其应用程序仅仅是因为他们切换到我们的发行版。
同样,在交付OpenVINO的情况下,OpenCV DNN模块将推理引擎用作启动网络的引擎。 平均而言,与OpenCV中的代码相比,这至少可加速2倍。

问题
OpenVINO包括训练有素的模型。 它们与在线提供的模型有什么区别? 我可以在应用程序中使用它们,并且对商业用途有任何限制吗?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 实际上,OpenVINO包含的模型使用没有绝对的限制(尝试从中间表示格式重建原始模型除外),并且不需要签署许可协议。
与公共模型有两个区别:
- 性能和模型大小 。 所有提供的模型都解决了一个狭窄的问题(例如,行人检测),这使我们能够显着减小其尺寸。 在公共模型的情况下,试图解决一个更普遍的问题(检测几类对象),这需要具有大量参数的计算复杂得多的模型。 在上面的示例(行人检测)中,我们的模型比质量不差的公共模型解决问题的速度快10倍以上。
- 异国任务的决定 。 经常发生的是,这项任务在学术界引起的兴趣不大,而且很难找到公共模型。 例如,检测头部旋转角度或分析年龄和性别。 在这种情况下,我们的模型使您无需查找数据集并训练模型。

问题
看起来有几个模型都做同样的事情,例如面部检测。 为什么有这么多?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 有两个区别:
- 速度/质量的价值 。 由于质量略有下降,某些型号可以更快地工作。 根据应用程序的要求,您可以选择其中一个。
- 问题的陈述条件不同 。 例如,一个人的拍摄角度会影响检测质量,我们针对不同情况提供2种模型。
应该注意的是,对于模型,有一个带有说明的文件,您可以在其中看到性能指标,模型的准确性以及预期输入的图像示例,即 方案说明。

问题
为什么不支持递归网络? 是否计划使用这些原语支持特定的原语和拓扑?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 支持正在得到实施;这是时间和优先级的普遍问题。 我认为,到今年年底,我们应该实现此功能和许多创新。

问题
如果我尝试导入模型并且出现错误,该怎么办。 有可能自己解决这个问题,还是有必要寻求支持? 他们会支持我吗?
尤里·戈尔巴乔夫(Yuri Gorbachev)。 目前,您可以转到支持论坛,我们会回答很多问题并解决问题。 应该注意的是,模型优化器组件是一组python脚本。 原则上,这意味着如果对此感兴趣,则可以自己查看和修复某些东西。
我们还计划发布源代码-与修复错误相比,这应该允许我们做更复杂的事情。
好吧,竞赛的获胜者是H_Braiser S_o_T ,他对支持NNEF有疑问。 恭喜你!