点击上方“
CVer
”,选择加"
星标
"置顶
重磅干货,第一时间送达
在产业生产环境下, Windows 系统是最常见的操作平台,深度学习相关的安全帽检测、质量检测等算法的产业部署,多数情况下是在Windows系统上完成的。而大多数深度学习框架只考虑了Linux系统,对Windows系统的适配工作,尤其是部署阶段较为薄弱,使产业深度学习算法实际部署应用的难度高居不下。
近期,飞桨目标检测兴趣小组的成员基于PaddleX(飞桨全流程开发工具)开发了一套专门面向工业场景的部署软件,使开发者可以直接对摄像头捕获的图像进行实时可视化检测,极大的降低了深度学习算法部署及实时预测的难度。
该软件的设计,兼容了多种型号的相机、实现了多种形式的预测方式、提供了更加细致的阈值设置文件,并将工业相机、工控机、深度学习算法软件实现了串联,彻彻底底的打通深度学习在工业产线Windows系统部署的最后一公里。
上周,我们在飞桨开发者说直播中分享了使用PYQT在工业场景深度学习模型部署的常见难题、如何实现深度学习模型快速部署及实时检测、以及详细的软件实现过程。那么本周,我们继续将会为大家介绍基于C#的深度学习部署软件的开发过程。本次直播将结合工业场景为大家进行演示、一步步介绍如何去封装一个C++的DLL接口,供C#的调用,也会提供一个单独的GRPC预测的Demo,让大家轻松应对不同场景。
错过了上周直播的同学可以点击链接观看回放:
https://www.bilibili.com/video/BV1rp4y1q7ap
本期直播介绍
直播时间:12月16日 19:00-20:00
直播方式:飞桨B站直播间
相关产品:PaddleX(飞桨全流程开发工具)
l 《基于C#的部署软件的功能实现》——李康宇
l 《如何编译一个可供C#调用的DLL》——朱玉石
l 《如何搭建一个grpc的服务来提供多种部署选择》——王成
该项目的源码会在直播时开放,如果你感兴趣,欢迎观看直播获取喔。
(扫描下方海报二维码入群,获取直播链接及源码)
Star
有奖
在小伙伴们的支持下,PaddleX荣登GitHubTrending榜单啦!!所以!本周三晚上直播中,我们将进行抽奖!!给
PaddleX(飞桨全流程开发工具)
Github 点 Star,即可参与,领奖时间以及方式如下:
1、在PaddleX的Github Star列表前六页中随机抽取幸运者,并在微信群里进行公示,怕错过了中奖信息的小伙伴赶紧扫码直播海报上的二维码入群喔。
2、获奖的用户可以在微信里面私信飞桨小哥哥,凭借Github账号截图领奖。
3、开奖时间:本周三(12月16日)直播结束时,在线开奖。
奖品多多,赶紧动手Star点起来!!
l 50元京东卡 *4
l 百度云超级会员月卡 *5
l 鼠标垫 *5
l 小度熊抱枕 *2
PaddleX Github 链接:
https://www.paddlepadde.org.cn/paddle/paddleX
PPDE 飞桨开发者说 Live
每周三晚上 19:00-20:00,都有一位PPDE(飞桨开发者技术专家)或飞桨社区开发者在B站与大家见面交流。错过了往期直播的小伙伴,可以到B站搜索 飞桨PaddlePaddle 回顾之前的直播哟。
飞桨开发者技术专家(PPDE)
飞桨开发者技术专家(PPDE)是百度飞桨对开发者的荣誉认证体系,成为其中的一员后,除了有专属的 PPDE 系列活动外,还将享有从技术专家认证、顶级峰会交流与演讲邀约,到全球技术游学、PPDE 专项赞助等丰富权益。
想了解如何成为PPDE?点击“
阅读原文
”即可获取更多信息啦!
点击上方“CVer”,选择加"星标"置顶重磅干货,第一时间送达在产业生产环境下, Windows 系统是最常见的操作平台,深度学习相关的安全帽检测、质量检测等算法的产业部...
适用于Chrome开发者工具的明日之夜主题。
用零基础主题制作。
https://github.com/gbraad/chrome-devtools-tomorrow-night-bright-theme
支持语言:English
有无标注好的数据,如果有标注数据,数据增广之后是否可以让
模型
很好的收敛;如果没有标注数据,找一找公开带标注的数据集里面有没有可以迁移学习的。
因为之后
模型
压缩损失精度,就要提前在训练时尽可能把精度达到更高、缩短训练时间。比如大batch size和Linear scaling、warm up、Zero γ 、no bias decay等的方法。同时优先考虑mobilenet等backbone,看精度是否在要求内。听说,有条件的会搜索一下网络结构。
优化使用推理引
通俗来说,
模型
部署
就是在某一框架内训练好的
模型
(权重文件),通过具体框架进行
模型
转化或者直接使用对应语言所提供的API接口,load、get一系列操作,使得训练好的“黑箱”能得到实际应用。这种方式可能是简单的pyinstaller库进行简单的封装、也可以是pyqt进行界面集成、接口调用,或者使用flask或者Django框架进行前端和后台服务器的嵌入,这些总体来说,都算是
模型
部署
。
使用docke...
TensorFlow Serving简单来说就是一个适合在生产环境中对tensorflow深度学习
模型
进行
部署
,然后可以非常方便地通过restful形式的接口进行访问。
除此之外,它拥有许多有点:
支持配置文件的定期轮询更新(periodically poll for updated),无需重新启动;
优秀的
模型
版本控制;
支持并发;
支持批处理;
基于docker,
部署
简单。
(这些优点我们在下面会逐一提到)
官方极力推荐通过docker的方式进行安装,所以,
首先我们需要进行docker的
在你开始之前
确保您已安装以下依赖项。
CUDA 10.2、11.0 更新 1、11.1 更新 1、11.2 更新 2、11.3 更新 1、11.4 更新 3、11.5 更新 1 或 11.6
cuDNN 8.3.2
安装过程:
下载与您正在使用的
Windows
版本匹配的 TensorRT zip 文件。
选择要安装 TensorRT 的位置。 zip 文件会将所有内容安装到名为
在python服务器上
部署
模型
文件,给出一个http服务,后台通过这个服务就可以调用
模型
进行输入输出了。
优点:算法与后端的工作界限明显,不需要特别多的沟通;在使用
模型
前还需要进行数据预处理,不需要额外再进行代码迁移。
缺点:需要服务器安装python环境,维护的成本增加,服务器之间接口的通信问题,获取
模型
输出所需
并发与并行
并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一时刻点上只有一个程序在处理机上运行。例如吃饭的时候打电话,你只能吃完一口饭,再说一句话,再吃一口饭,再说一句话,并发说明你有处理多个任务的能力,不一定要同时。
并行:指的是系统具有同时处理多个任务的能力。例如上面的吃饭打电话的例子,你可以一边吃饭一边说话。
同步与异步
同步和异步关注的是消息通信机制。同步就是调用消息,调用方必须等到这个消息返回
需求一:简单的demo演示,只要看看效果的,像是学校里面的demo展示这种
caffe、tf、pytorch等框架随便选一个,切到test模式,拿python跑一跑就好,顺手写个简单的GUI展示结果
高级一点,可以用CPython包一层接口,然后用C++工程去调用
需求二:要放到服务器上去跑,但一不要求吞吐二不要求时延的那种,说白了还是有点玩玩的意思
caffe、tf、pytorch等框架随便选一个,按照官方的
部署
教程,老老实实用C++
部署
,例如pytorch
模型
用