纯小白入门一下深度学习应用 - 1. 深度学习框架和模型部署问题

Pytorch与Tensorflow

两者都是主流的深度学习的框架。(里面有些很好用的库,用来构建自己的深度学习网络框架。)其他的有比如(Keras,甚至万能的MATLAB)
Pytorch - Facebook搞出来的;
Tensorflow - Google搞出来的。

选啥?

特点:
1> Pytorch 只有Python语言的,提供了libTorch,可能也很好用,没试过。
2> Tensorflow 版本比较多Python、C++都有;
所以,前几年有说法:工业界用Tensorflow比较多,科研用Pytorch比较多。但现在,Pytorch也开始逐渐再工业界中取代了Tensorflow。

更详细的区别和分析:https://zhuanlan.zhihu.com/p/466991365
注:限于上述文章写于2022年,有些信息可能不够及时,但大差不差。

问题:有什么方法可以做到使用C++部署你已经训练好的PyTorch模型吗?

方法有很多。
1)可以使用ONNX转tensorRT;
2)可以自己写个脚本把PyTorch模型参数注入tensorflow中,然后用tensorflow的部署工具链来部署。
当然,这些都是非常优秀的部署方法,并且甚至逐步被工业界采用。

这里有个C++的libTorch写Pytorch推理代码的例子,可以参考:
https://zhuanlan.zhihu.com/p/513571175

这里我的项目实时性要求比较高,我用的Detecron2的框架用Mask-RNN训练的图像分割。现在准备部署到本地,因为Detecron2用的Pytorch,我又希望用C++来做推理,所以准备选用Pytorch - ONNX - ONNXRuntime
注:其他的可用方式,这里有个UP主做了实时性的对比视频:
https://www.bilibili.com/video/BV11u411N7ji/?spm_id_from=333.337.search-card.all.click&vd_source=8dcbb855235787c4fe45a84d9f389f30
他也把对比源码开源在Github上:https://github.com/zhangchaosd/ModelInferBench

关于如何用ONNXRuntime推理框架,可以参考这里:
https://www.bilibili.com/video/BV1ym421W71r/?spm_id_from=333.788.recommend_more_video.-1&vd_source=8dcbb855235787c4fe45a84d9f389f30

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值