本教程旨在教读者如何用c++写模型,训练模型,根据模型预测对象。为便于教学和使用,本文的c++模型均使用libtorch(或者pytorch c++ api)完成搭建和训练等。目前,国内各大平台似乎没有pytorch在c++上api的完整教学,也没有基于c++开发的完整的深度学习开源模型。可能原因很多:
本教程提供基于libtorch的c++开发的深度学习视觉模型教学,本教程的开发平台基于Windows环境和Visual Sutdio集成开发环境,实现三大深度视觉基本任务:分类,分割和检测。适用人群为:
本教程分多个章节:
在第一章中,笔者将介绍教程使用的开发环境。第二章,笔者将介绍libtorch中的torch::Tensor类的常用操作,便于后续复杂算法的落地实施。第三章,笔者将以一个简单的线性模型为例,介绍如何在c++上创建一个分类或者回归模型。第四章,笔者将介绍如何使用libtorch的dataload模块,这对c++模型的训练极其重要。第五、六、七章中,教程将详细描述如何实现一个c++分类器,一个c++语义分割器,一个c++目标检测器,包含功能分别为:分类图片,语义分割图片,检测图片中的目标。第八章为全部教程的总结和展望。
事实上,在前面的pytorch部署博客和libtorch的QT部署中笔者已经分享了自己搭建libtorch开发环境的记录。其余并无太多要赘述的。
分享不易,如果有用请不吝给我一个,转载注明出处:Allent's Blogs
代码见LibtorchTutorials