自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(121)
  • 资源 (7)
  • 收藏
  • 关注

原创 C/C++笔记:函数返回指针和引用

C/C++笔记:函数返回指针和引用。

2022-09-27 19:45:00 772 1

原创 C/C++笔记:函数参数

1. 函数的语法返回类型 函数名称(参数,参数,...){ 函数的功能区 return 返回值;}int Add (int a, int b){ char c = a + b; return c;}2. 函数参数2.1. 指针参数指针参考:C++笔记:指针(1)int add(int* a, int* b) { (*a) += 100; (*b) += 10; return (*a) + (*b);}i

2022-06-16 20:00:00 285 1

原创 C/C++笔记:std::string(二)指针数组字符串

在内存里的布局,与C字符串(char*)不同的是,C字符串以0结尾,而string字符串由于有专门记录其长度的属性,在实现的时候,并没有严格要求是否以0结尾!但是在C++11标准推出后,要求string字符串也以0结尾;通过.c_str()方法可以得到一个const char*的指针,指向str存储字符数据的内存空间;通过.data()方法可以得到一个const char*的指针,指向str存储字符数据的内存空间;在C++17标准下.data()方法得到的是一个char*的指针。...

2022-05-26 19:45:00 1739

原创 C/C++笔记:std::string(一)

1.需求:把两个字符串拼接一下.memcpy参考【C/C++笔记:动态内存分配】 char strA[0x10] = "123"; char strB[0x10] = "456"; char strC[0x20]; memcpy(strC, strA, strlen(strA)); memcpy(strC + strlen(strA), strB, strlen(strB) + 1); std::cout << strC << std::endl;..

2022-05-10 20:15:00 13767 1

原创 [Linux] Ununtu环境下配置VS Code C++并使用CMake创建项目

1添加链接描述

2022-05-07 14:57:45 1569 1

原创 [深度学习] OpenVINO开发:C++ API推理步骤实现

使用C++ API实现推理步骤:创建Core对象,加载推理引擎Core,该引擎需要从当前路径加载plugins.xml文件;Core ie;读取IR文件 (.xml and .bin files),也可直接加载.onnx文件;CNNNetwork network = ie.ReadNetwork(input_model);配置 input & output;输入格式设置:InputInfo::Ptr input_info = network.getInputsInfo

2022-04-21 18:02:38 5029 2

原创 [深度学习] OpenVINO开发:Win 10 安装及卸载

OpenVINO是英特尔推出的一款全面的工具套件,用于快速部署应用和解决方案,支持计算机视觉的CNN网络结构超过200余种。1. 安装OpenVINO官方文档:Install and Configure Intel® Distribution of OpenVINO™ toolkit for Windows* 101.1. 环境准备Microsoft Windows* 10, 64-bitMicrosoft Visual Studio with C++2019 or 2017 with MSBu

2022-04-21 15:49:03 3070

原创 [深度学习 - 目标检测] YOLO系列(六):YOLO-V3源码解析:基于配置文件构造网络模型

1. 读取配置文件PyTorch-YOLOv3\config\yolov3.cfg def __init__(self, config_path, img_size=416): super(Darknet, self).__init__() self.module_defs = parse_model_config(config_path)2. 创建模型self.hyperparams, self.module_list = create_modules(sel

2022-03-30 13:58:18 1934

原创 [深度学习 - 目标检测] YOLO系列(五):YOLO-V3源码解析:标签文件读取与处理

源码:datasets.py获取图片路径;def __getitem__(self, index): img_path = self.img_files[index % len(self.img_files)].rstrip()读取图片,转为RGB格式,并且数据格式转为tensor;img = transforms.ToTensor()(Image.open(img_path).convert('RGB'))数据预处理,如果数据不是三个channels,转换成三个;if

2022-03-29 19:30:00 3720

原创 C/C++笔记:联合体 union

1. union通过union可以创建一个联合体,union中的成员变量共享内存,因此union的数据类型大小由其最大的成员变量决定;1.1. 语法union 联合体名称{ 变量类型 变量名称; 变量类型 变量名称; ...}1.2. 用法示例union USER { short sHP; int nHP;}2. union 的特点union中的成员变量共享内存,因此union的数据类型大小由其最大的成员变量决定;union USER

2022-03-24 18:30:00 1395 1

转载 [深度学习 - 目标检测] YOLO系列(四):YOLO-V3

2022-03-24 14:50:03 99

转载 [深度学习 - 目标检测] YOLO系列(三):YOLO-V2

实际输入416 * 416:32的倍数,且除以32商为奇数:希望得到的结果有一个实际的中心点.降采样:Maxpoolyolo-v1:两种先验框, B =2;yolo-v2: 聚类提取先验框, B = 5;先把coco数据集中真实的标注框,使用k-means做一个聚类,yolo-v2中k = 5,根据上左图坐标关系查看,当k = 5时,数据比较合适。...

2022-03-24 14:42:25 158

原创 C/C++笔记:指针和结构体

1. 通过指针访问自定义数据类型typedef struct Role { int HP; int MP;}*PRole;int main(){ Role user; PRole puser = &user; puser->HP = 50; puser->MP = 50; user.HP = 50; user.MP = 50;}*PRole 定义为结构体Role的指针,使其可通过指针访问结构体。指针用->访问;.对应的是实体;反汇编:

2022-03-23 19:15:00 1699

原创 C++笔记:C语言 字符串

1. 声明样式 char str[0xFF]{ "Hello" }; const char* strA = "Hello"; char* strB = new char[0xFF]{ "Hello" }2. 字符串处理2.1. C语言2.1.1. 输入、输出char 单字节字符; char str[0x5]; //申请5个字节空间 printf("请输入您的名字:"); scanf("%s", str); // 注意:如果输入超过5个字节,程序就会崩溃

2022-03-23 09:57:31 1108

转载 [深度学习 - 目标检测] YOLO系列(二):YOLO-V1

YOLO-V1核心思想: 总结:输入流S*S的格子,格子里每个中心点产生两种候选框。设定一个阈值,超过阈值,置信度比较高,判定格子是有物体的。格子有物体,通过计算两个候选框的IoU,取数值比较大的那个框当作结果。网络结构 损失函数概念解释:NMS:非极大值抑制;总结:优点: 快速,简单;问题1: 每个Cell只预测一个类别,如果重叠无法解决;问题2:小物体检测效果一般,长宽比可选,但单一,只有两个B1,B2....

2022-03-22 22:00:00 151

转载 [深度学习 - 目标检测] YOLO系列(一)

1. one-stage衡量算法的两个指标: mAP和FPS:mAP越大,代表检测效果越好;FPS越大,代表速度越快.2. two-stage3. 指标分析精度和召回率;

2022-03-22 17:45:50 1039

原创 C++笔记:智能指针 std::shared_ptr

1. 语法std::shared_ptr<类型> 变量名称{};std::shared_ptr<int> ptrA{};std::shared_ptr<int> ptrB{std::make_shared<int>(5)};注意:std::make_shared不支持数组。std::shared_ptr<int[]> ptrC{ new int[5]{1, 2, 3, 4, 5} };2. 特性可以有多个std::shar

2022-03-21 19:15:00 2314

原创 C++笔记:智能指针 std::unique_ptr

1. 概念std::unique_ptr是所谓的智能指针的一种,主要目的是为了解决原生指针安全性不足的弊端。声明语法:std::unique_ptr<类型> 变量名称{}; int* a{}; //旧 std::unique_ptr<int> intPtr{}; //新初始化 int* b = new int[ 5 ]; std::unique_ptr<int> intPtrB{ new int{ 15 } };C++ 14 及

2022-03-18 18:30:00 2592

原创 编译yolov5出错:error MSB3721

yolov5使用CMake编译成功之后,使用Visual Studio 编译出错:1>D:\DevlopmentSoftwares\VisualStudio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 11.1.targets(785,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\nvcc.ex

2022-03-16 22:00:00 5152 3

原创 [深度学习 - 目标检测] yolov5的TensorRT模型加速

1) 克隆tensorrtxgit clone https://github.com/wang-xinyu/tensorrtx.git2)下载文件dirent.h下载文件dirent.h, 下载地址 https://github.com/tronkko/dirent放置到 tensorrtx/include文件夹下,文件夹需新建.3) 生成yolov5s.wts文件...

2022-03-16 21:45:00 5150 1

原创 [深度学习 - 目标检测] yolov5 环境配置

1. 准备1.1. 仓库地址https://github.com/ultralytics/yolov51.2. 依赖环境1.2.1. 安装 Conda资源路径https://docs.conda.io/en/latest/miniconda.html添加 Anaconda 环境变量D:\DevlopmentSoftwares\Anaconda3\ScriptsD:\DevlopmentSoftwares\Anaconda3D:\DevlopmentSoftware..

2022-03-11 18:03:35 7033 3

原创 C++笔记:引用

1. 定义引用是创建一个变量的引用名称;1.1. 语法:数据类型 & 变量名称{引用对象的名称}注意:引用必须初始化;一个变量可以有多个引用;一个引用初始化后,不能再改变引用对象。例如: int a{ 1001 }; int b{ 1002 }; int& la{ a }; std::cout << la << std::endl; //1001 std::cout << &a << std::e

2022-03-09 18:45:00 934

原创 [深度学习 - 目标检测 ] yolact 环境配置

1. 准备1.1. 代码库https://github.com/dbolya/yolact1.2. 编译教程教程一https://www.bilibili.com/video/av243457426/教程二https://blog.csdn.net/excelNo1/article/details/122228942教程三https://blog.csdn.net/qq_41915882/article/details/119971992?spm=1001.2

2022-03-08 14:22:35 2638 1

原创 C/C++笔记:动态内存分配

1. C语言中的动态内存分配1.1. mallocvoid* malloc(size_t size);malloc 将为用户分配size字节个内存,并且返回内存分配的地址,如果分配失败,那么返回0。int * pa = (int*)malloc(4);pa 是分配好的内存的地址,4是要分配的大小,如果分配失败, pa = 0。1.2. callocvoid* calloc(size_t count, size_t size);calloc 将为用户分配count *size字节个内

2022-03-07 21:15:00 1235

原创 C++笔记:指针数组和数组指针

1. 概念1.1. 指针数组int* ptrA[5];指针数组本质上来讲是一个数组,数组的内容是指针;1.2. 数组指针int (*ptrB)[5];数组指针的本质上来讲是一个指针,只是这个指针用来处理数组问题;2. 实验指针 + 1代表地址偏移一个数据类型的大小;数组指针 + 1 代表地址偏移量 = 数据类型的大小 * 数组的列数; int test[2][5]{ {1001, 1002, 1003, 1004, 1005}, {2001, 2002, 200

2022-03-07 19:00:00 656

原创 C++笔记:指针和数组

int a[5]; int* ptrA{&a[0]};003417D2 mov eax,4 // eax = 4 int a[5]; int* ptrA{&a[0]};003417D7 imul ecx,eax,0 // ecx = eax * 0003417DA lea edx,a[ecx] //edx = a[0]003417DE mov dword ptr [ptrA],edx .

2022-03-02 19:30:00 439

原创 C++笔记:指针(2)

7. 常量指针7.1. 概念所谓的常量指针,即这个指针指向的一个常量的内存地址,常量指针中,不能对其指向的内存地址进行改变,但是指针指向的地址可以改变。即:指针的指向可以改变,但是指向的内容不可改变。7.2. 声明方式const 变量类型*7.3. 举例 const int a{ 1000 }; const int b{ 2000 }; const int* ptr{ &a }; //a是常量,不允许修改a的内容; // *ptr = 500; //编译失败

2022-02-28 21:45:00 264

原创 C++笔记:指针(1)

1. 定义C/C++提供了让我们直接操作内存的机会,这种机会就是利用指针,指针要有两个要素:要操作的内存地址;要操作的内存大小。2. 指针的语法2.1. 声明方式一数据类型* 变量名称;int* a{};2.2. 声明方式二数据类型 *变量名称;int *b{};2.3. 注意点int* a,b; // a是指针,b是int类型的数据//希望a,b都是指针,可如下声明int *a, *b;3. 运算符3.1. 取址运算符&既然指针是用来操作内存的,

2022-02-19 20:15:00 194

原创 C++笔记:std::vector

声明格式std::verctor<数据类型> 变量名std::verctor<int> studentId;std::verctor<int> studentId{1, 2, 3};std::verctor<int>studentId(5); //注意是(),而不是{},设置这个verctor拥有5个元素std::verctor<int>studentId(5, 100); //设置这个verctor拥有5个元素,每个元素的初始值是

2022-02-18 21:30:00 265

原创 C++笔记:std::array

由于原生的数组存在着安全问题,使用不当会造成程序的漏洞,因此C++标准库里提供了容器。1. 语法std::array<变量类型,元素数量>变量名;std::array<int, 5>studentId;std::array<int, 5>studentId{101, 102};2. 常见用法std::array<int, 5>studentId{1001, 1002};studentId.size();//返回拥有几个元素studentI

2022-02-18 20:30:00 376

原创 C++笔记:格式化

2022-02-17 14:51:12 174

原创 C++笔记:原生数组

1.数组1.1 数组的声明格式1.1.1. 格式一数据类型 数组变量名称[数组元素个数]{初始化值, 初始化值...}int a[10]{};1.1.2. 格式二变量类型 数组名[]{初始化, 初始化...}int a []{1, 2, ,3};//编译器会自动将a声明为一个有3个元素的数组1.2.数组的本质数组的本质是按照所申请的数据类型,向操作系统申请了一段连续的内存空间。两个特征:连续的有序的2. 数组遍历2.1. 常规 int studentId[]{101, 1

2022-02-16 20:30:00 571

原创 TCT模型部署步骤(4:启动)

1. 启动redis路径:E:\Dev\TCTDetect\Projects\ReleaseRedis1.1. 双击启动 redis-server.exe1.2. 双击启动redis-cli.exe在其控制台中输入:SELECT 102. 启动Python注意:先安装 python3.8,然后配置一下环境变量;默认路径:C:\Users\Charles\AppData\Local\Programs\Python\Python382.1. 命令行启动 app.py进入如下文件夹E:

2022-02-16 10:45:06 763

原创 TCT模型部署步骤(3:代码修改)

1. 代码层面TctDetect项目,main.cpp下: //本机是单显卡,这里改为"false"24 const bool TwoDetect = false; --- //因为是单显卡,所以把79、80、82、83、84行注销掉78 ObjectDetect od1(&pp, 1, inferConf.posEnginePath, inferConf.negEnginePath, inferConf.gpuid, inferConf.ti

2022-02-16 10:41:10 1636

原创 TCT模型部署步骤(2:模型相关)

1. 模型生成模型需要根据电脑的配置来生成1.1. 准备依赖资源路径:E:\Dev\TCTDetect\models\convert1.2. 生成1.2.1 生成 331_best.engineE:\Dev\TCTDetect\models\convert 路径cmd运行//可先运行以下,查看命令含义yolov5_convert_anchor_2_gamma.exe //./yolov5 -s [.wts] [.engine] [s/m/l/x/s6/m6/l6/x6 or c/c

2022-02-16 10:37:24 1408

原创 TCT模型部署步骤(1:准备)

1. 工具及库依赖1.1. 需要安装的工具Visual Studiopython3.8资源路径: D:\安装包\python-3.8.8-amd64CUDA11.1默认安装路径:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1压缩包中有一个cudnn-11.2-windows-x64-v8.1.1.33,要将该路径bin文件夹中的7个文件,拷贝到上面安装路径bin文件夹中;资源路径:E:\开发工具资源\TCT模型部

2022-02-16 10:29:53 1736

原创 C++笔记:for / while / do while 运用时机

综述:执行效率: do while > while / goto > for1. goto1.1 源码 int password{ 98765432 }; int crackPass{}; //gotolcrack: if (crackPass != password) { crackPass ++; goto lcrack; } std::cout << "密码为 " << crackPass <<std::endl;1.

2022-02-10 11:09:47 454

原创 C++笔记:goto

1. 格式标签:xxxxxgoto 标签;举例 printf("请输入一个大写字母,我们将把它转换成小写\n"); char a;linput: std::cin >> a; if (a > 64 && a < 91) { a += 32; std::cout << a; } else { printf("输入不符合要求,请重新输入!\n"); goto linput; }...

2022-01-26 15:22:06 652

原创 Swift5.0笔记 - 6.结构体

1. 结构体在 Swift 标准库中,绝大多数的公开类型都是结构体,而枚举和类只占很小一部分比如Bool、Int、Double、 String、Array、Dictionary等常见类型都是结构体① struct Date { ② var year: Int③ var month: Int④ var day: Int⑤ } ⑥ var date = Date(year: 2019, month: 6, day: 23) n所有的结构体都有一个编译器自动生成的初始化器(initiali

2022-01-19 11:05:45 97

原创 C++笔记:变量的生命周期

注意点:访问全局变量,变量名重复时,用限定符“::”;int a{ 10 };int main(){ int a{ 20 }; std::cout << a << std::endl; //a = 20; std::cout << ::a << std::endl; //a = 10;}

2022-01-19 11:02:07 368

yolact_ncs2_openvino_2021_4

1. 使用openvino 2021.4 版本部署yolact; 2. 模型为fp16,亦可使用二代计算棒推理; 3. 资源包含推理源码及转换好的bin\xml(fp16)文件;

2022-05-30

C++ 实现 OpenVINO样板Demo

https://blog.csdn.net/Nine_Yao/article/details/124324526

2022-04-21

yolov5的TensorRT模型加速资源

yolov5的TensorRT模型加速资源

2022-03-16

yolact_tutorials

yolact_tutorials

2022-03-08

yolact_plus_resnet50_54_800000.pth

yolact_plus_resnet50_54_800000.pth

2022-03-07

yolact_base_54_800000.pth

yolact_base_54_800000.pth

2022-03-07

IAPDemo.zip

iOS App内购封装工具,一句代码搞定内购需求。内部包含了防漏单处理。

2020-06-16

空空如也

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

TA关注的人

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