opencv从3版本开始就已经支持CNN网络模型的预测,到4版本,主流工具tensorflow,pytorch 生成的模型文件大部分都可以支持。但其一直没有使用到CUDNN。但最新发布的4.2版本的opencv已经支持CUDNN了。以下是功能测试
一。安装编译环境
opencv从3版本开始就已经支持CNN网络模型的预测,到4版本,主流工具tensorflow,pytorch 生成的模型文件大部分都可以支持。但其一直没有使用到CUDNN。但最新发布的4.2版本的opencv已经支持CUDNN了。以下是功能测试
一。安装编译环境
网上可以找到许多TensorFlow的Mask-RCNN版本,现以github上一个Star较多的版本为例,介绍如何在C#中部署Mask-RCNN模型
TensorFlow 运行时默认会最大化使用显存,如果需要控制其显存的分配,可以进行相应的设定。相关设定大多是在python或c++的运行环境下设置的,c#环境下的设置方法可以如下文。主要使用了 options.SetConfig(InPtr protoData,int length)
tensorflowsharp使用C#封装了tensorflow的c-api接口,可以方便的在C#中使用tensorflow的模型。但作者只提供了cpu版本的tensorflow,如果要使用gpu版本的tensorflow,就需要自己编译出一个带CUDA的dll。好在网上资料比较多,编译起来并不是很困难
一.编译环境搭建
消息队列(Message Queue,简称 MQ),可以将一些费时的任务放入队列,慢慢处理,改善客户端的体验。与TensorFlow服务结合,可以调高服务器的计算能力,将费时的数据传输与相对较快的预测计算分开来
本文介绍了一种使用opencv + c++ 可以在生产环境下调用tensorflow pb文件进行预测的方法。
该方法不需要在生产环境下搭建python运行环境。 流程上相对简单清晰。如果要将神经网络/机器学习添加到几年前项目中,也比较简单可行。
本文介绍了一个采用Flask + uwsgi + nginx 部署TensorFlow应用的方法。以此可以搭建一个简单的机器学习云服务器
由于本人安装的电脑带有显卡,所以安装了2个版本的tensorflow,一个带gpu,一个不带gpu。不同版本的tensorflow使用虚拟环境进行分割
tensorflow在1.3后加入了官方的windows支持,可以使用cmake在vs2015下编译c++ library。但坑还是很多,简单整理了1.3版本编译及使用过程。并介绍了编译部分kernel的方法。其他版本也可参考进行编译。
编译版本为1.3,只cpu。带gpu的tensorflow可以用1.5以后的版本。