Tensorflow对象检测API,在Windows上使用GPU并进行实时检测

时间:2017-07-23 15:19:59

标签: python windows tensorflow real-time video-processing

我正在Python中测试新的 Tensorflow对象检测API ,并且我成功地使用docker在Windows上安装它。但是,我训练的模型(更快的RCNN resnet101 COCO)需要15秒来进行预测(虽然准确度很高),可能是因为我只使用Tensorflow CPU。

我的三个问题是:

  • 考虑到延迟,问题出在哪里?我听说Faster RCNN是低延迟视觉检测的好模型,是不是因为只执行CPU?
  • 有这样的延迟,是否可以通过使用张量流GPU进行高效的实时视频处理,还是应该使用像YOLO这样更受欢迎的模型?
  • 在docker中使用tensorflow GPU的流行方法是nvidia-docker,但Windows不支持。我是否应继续寻找用于本地预测的docker(或conda)解决方案,还是应该将我的模型直接部署到使用GPU的虚拟实例(我对Google Cloud Platform感到满意)?

非常欢迎任何有关使用Tensorflow进行实时视频处理的建议和/或良好做法!

1 个答案:

答案 0 :(得分:0)

  

考虑到延迟,问题出在哪里?我听说更快的RCNN   是一个很好的低延迟视觉检测模型,是因为   仅CPU执行?

当然,这是因为你正在使用CPU。

  

有了这样的延迟,是否可以制作高效的实时视频   使用tensorflow GPU处理,或者我应该使用更受欢迎的   像YOLO这样的模特?

Yolo速度很快,但我曾经用它来做脸,准确性并不是那么好。但是一个不错的选择。

  

在docker中使用tensorflow GPU的流行方法是nvidia-docker但是   在Windows上不受支持。我应该继续寻找一个码头工人吗?   用于本地预测的(或conda)解决方案,或者我应该部署我的模型   直接使用GPU的虚拟实例(我对Google很满意   云平台)?

我认为你仍然可以在Windows中使用你的本地GPU,因为Tensorflow在python上支持GPU。

here就是一个例子,只是为了做到这一点。它有一个客户端,可以读取网络摄像头或IP摄像头流。该服务器正在使用Tensorflow python GPU版本,并准备使用预先训练的模型进行预测。

不幸的是,Tensoflow不支持Windows上的tensorflow-serving。另外正如您所说,Windows上不支持Nvidia-DockerBash on windows也不支持GPU。所以我认为这是目前唯一容易实现的方法。