libtorch (pytorch c++) 教程(一)

前言

本教程旨在教读者如何用c++写模型,训练模型,根据模型预测对象。为便于教学和使用,本文的c++模型均使用libtorch(或者pytorch c++ api)完成搭建和训练等。目前,国内各大平台似乎没有pytorch在c++上api的完整教学,也没有基于c++开发的完整的深度学习开源模型。可能原因很多:

  1. c/c++的深度学习已经足够底层和落地,商用价值较高,开发难度偏大,一般不会开源;
  2. 基于python训练,libtorch预测的部署形式足够满足大多数项目的需求,如非产品级应用,不会有人愿意研究如何用c++从头搭建模型,实现模型训练功能;
  3. Tensorflow的市场份额,尤其时工业应用的部署下市场占比足够高,导致基于libtorch的开发和部署占比很小,所以未见开源。

本教程提供基于libtorch的c++开发的深度学习视觉模型教学,本教程的开发平台基于Windows环境和Visual Sutdio集成开发环境,实现三大深度视觉基本任务:分类,分割和检测。适用人群为:

  • 有c++基础,了解面向对象思维,
  • 有pytorch或者其他深度学习编程经验,但对模型落地部署等经验不足者。

章节安排

本教程分多个章节:

在第一章中,笔者将介绍教程使用的开发环境。第二章,笔者将介绍libtorch中的torch::Tensor类的常用操作,便于后续复杂算法的落地实施。第三章,笔者将以一个简单的线性模型为例,介绍如何在c++上创建一个分类或者回归模型。第四章,笔者将介绍如何使用libtorch的dataload模块,这对c++模型的训练极其重要。第五、六、七章中,教程将详细描述如何实现一个c++分类器,一个c++语义分割器,一个c++目标检测器,包含功能分别为:分类图片,语义分割图片,检测图片中的目标。第八章为全部教程的总结和展望。

第一章

事实上,在前面的pytorch部署博客libtorch的QT部署中笔者已经分享了自己搭建libtorch开发环境的记录。其余并无太多要赘述的。

分享不易,如果有用请不吝给我一个👍,转载注明出处:Allent's Blogs
代码见LibtorchTutorials

  • 13
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值