自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 libtorch (pytorch c++) 教程(八)

这是个教程总结,libtorch教程一共八章,主要是实现了c++版本的分类,分割和检测工具吧。这对一些需要C++/C#/Java做项目的同志来说,想必是大大的福音了。由于代码全程几乎手敲,不像现在许多python项目,可以直接从其他地方CV(ctr C + ctr V)过来,同时c++项目debug起来比python麻烦很多,光是项目大了以后编译一次都耗时很久…算不上诉苦,只能说干c++的都是脏活,让人头秃????‍????。不过现在深度学习相关的岗位,尤其是CV岗,python的HC真的不多,大厂还好

2021-05-05 19:55:08 695

原创 libtorch (pytorch c++) 教程(七)

文章目录模型简介骨干网络yolov4_tiny预测训练阅读本文需要有基础的pytorch编程经验,目标检测框架相关知识,不用很深入,大致了解概念即可。本章简要介绍如何如何用C++实现一个目标检测器模型,该模型具有训练和预测的功能。本文的分割模型架构使用yolov4-tiny结构,代码结构参考了bubbliiiing yolov4-tiny,本文分享的c++模型几乎完美复现了pytorch的版本,且具有速度优势,30-40%的速度提升。模型简介简单介绍一下yolov4-tiny模型。yolov4-ti

2021-05-05 19:51:26 1188 1

原创 libtorch+Qt creator配置

文章目录前言QT Creator安装不全,编译器选择错误,OpenCv使用困难Libtorch只能用MSVC编译器直接调用重装QT Creator,配置MSVC编译器重新用MSVC 2017编译器,配置OpenCV和Libtorch正确步骤References前言纯c++用户而言如果要自研产品,会一个图形界面编程工具还是有必要的。大多数c++用户,如果在Windows平台开发则多使用微软全家桶,如果是Linux平台则可能是其他工具再cmake。这篇博客将记录Windows平台,QT Creator中Op

2021-03-29 22:55:13 3155 19

原创 pytorch部署torchscript篇

文章目录引言环境visual studioopencvlibtorch例子生成.pt文件Visual Studio项目配置新建Visual Studio工程项目。编译环境配置配置项目属性includeliblinkdllcpp代码一些报错错误1:无法使用GPU错误2:编译时报错“std”: 不明确的符号错误3:缺少dll引言本文旨在介绍如何在Windows平台使用pytorch的c++ api部署pytorch的CNN模型,本文的部署的模型只有推理功能,这是由于torch::jit不支持部分层或者操作的

2021-03-29 22:43:53 2318 3

原创 libtorch (pytorch c++) 教程(六)

文章目录模型简介编码器——ResNetBlock搭建ResNet主体搭建前向传播及特征提取U-Net解码U-Net整体设计本章简要介绍如何如何用C++实现一个语义分割器模型,该模型具有训练和预测的功能。本文的分割模型架构使用简单的U-Net结构,代码结构参考了qubvel segmentation中的U-Net部分,该项目简称SMP,是基于pytorch实现的开源语义分割项目。本文分享的c++模型几乎完美复现了python的版本。模型简介简单介绍一下U-Net模型。U-Net模型的提出是在医学图像分割

2021-03-29 22:39:42 940 1

原创 libtorch (pytorch c++) 教程(五)

文章目录模型分析模型搭建模型利用预训练权重数据加载封装声明定义初始化训练预测前面的章节中我们介绍了libtorch的环境搭建(VS和Qt),libtorch张量常用操作,简单的MLP,CNN和LSTM模型搭建,以及数据加载类的使用。本章将以图像分类任务为例,详细介绍如何使用c++训练一个图片分类器。模型本文以VGG为例,对比pytorch下的模型搭建和训练,阐述Libtorch的模型搭建,模型加载预训练(from ImageNet)权重。VGG模型是2014年的ImageNet分类冠军,由于后续深度学

2021-03-29 22:38:04 1975 2

原创 libtorch (pytorch c++) 教程(四)

文章目录使用前置条件图片文件遍历自定义Dataset使用自定义的Dataset本章将详细介绍如何使用libtorch自带的数据加载模块,使用该模块是实现模型训练的重要条件。除非这个数据加载模块功能不够,不然继承libtorch的数据加载类还是很有必要的,简单高效。使用前置条件libtorch提供了丰富的基类供用户自定义派生类,torch::data::Dataset就是其中一个常用基类。使用该类需要明白基类和派生类,以及所谓的继承和多态。有c++编程经验者应该都不会陌生,为方便不同阶段读者就简单解释一

2021-03-29 22:36:41 843

原创 libtorch (pytorch c++) 教程(三)

pytorch c++ 教程(三)基本模块搭建MLP基本单元CNN基本单元简单MLP简单CNN简单LSTM基本模块搭建模块化编程的思想非常重要,通过模块化编程可以大幅减少重复的敲代码过程,同时代码可读性也会增加。本章将讲述如何使用libtorch搭建一些MLP和CNN的基本模块。MLP基本单元首先是线性层的声明和定义,包括初始化和前向传播函数。代码如下:class LinearBnReluImpl : public torch::nn::Module{public: LinearBnRe

2021-03-29 22:30:23 1182 1

原创 libtorch (pytorch c++) 教程(二)

文章目录张量初始化张量变形张量截取张量间操作本章讲述张量的常见操作,可以先初步了解,具体在设计损失函数等任务中可以用到。随时翻阅张量初始化libtorch(pytorch c++)的大多数api和pytorch保持一致,因此,libtorch中张量的初始化也和pytorch中的类似。本文介绍四种深度图像编程需要的初始化方法。第一种,固定尺寸和值的初始化。//常见固定值的初始化方式auto b = torch::zeros({3,4});b = torch::ones({3,4});b= to

2021-03-03 15:32:14 1944 1

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

pytorch c++ 教程(一)前言章节安排第一章前言本教程旨在教读者如何用c++写模型,训练模型,根据模型预测对象。为便于教学和使用,本文的c++模型均使用libtorch(或者pytorch c++ api)完成搭建和训练等。目前,国内各大平台似乎没有pytorch在c++上api的完整教学,也没有基于c++开发的完整的深度学习开源模型。可能原因很多:c/c++的深度学习已经足够底层和落地,商用价值较高,开发难度偏大,一般不会开源;基于python训练,libtorch预测的部署形式足够满足

2021-03-03 15:27:32 1357 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除