自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 资源 (2)
  • 收藏
  • 关注

原创 【项目优化】 用跳表实现timer

对C++选手烂大街的项目Webserver进行局部优化,将定时器模块(定期处理非活跃连接)由小根堆实现更改为用跳表实现,克服了用小根堆实现定时器的一些弊端。每一个客户端与服务器建立好连接后,为该连接创建定时器,经过一段时间后,若客户端没有与服务器进行通信,服务器则认为其为非活跃连接,将这个连接删除,以便其他客户端接入。定期检测(心跳)非活跃的连接,将这些非活跃的连接清除。若用户在被清除前与服务端进行交互(读写),延长该节点的超时时间(因为是活跃用户)。

2023-06-29 14:09:20 295

原创 【C++】手撕跳表

跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(示意图如下)。一开始时,算法在最稀疏的层次进行搜索,直至需要查找的元素在该层两个相邻的元素中间。这时,算法将跳转到下一个层次,重复刚才的搜索,直到找到需要查找的元素为止。

2023-06-15 14:28:06 589

原创 【MySQL】 InnoDB

脏页:数据已经被修改过的页,但还没有刷新到磁盘中;在没有使用redo log的时候,产生脏页通过后台线程以一定时机刷新到磁盘中,有可能出错,此时就无法保证数据的持久性,如下图:在用到redo log时,首先将增删改的数据记录到 redolog buffer 上 ,当事务提交时,就将该变化的页记录到磁盘上的日志文件(redo log file)中。如果缓冲池刷新到磁盘上出问题,就可以通过redo 日志文件进行恢复。Q:为什么不在每一次事务提交的时候就将buffer pool的数据刷新到磁盘中?

2023-05-14 17:53:13 438 1

原创 【MySQL】锁

防止表级锁出现:一个表已经保存后,和它相关联的表数据变动,导致整体的数据不一致情况。

2023-05-14 10:14:30 149

原创 【MySQL】SQL优化

插入多条数据的时候,可以按以下方式优化。

2023-05-10 13:06:21 503

原创 【MySQL】索引

索引是MySQL高效获取数据的数据结构,这些数据结构利用特定查找算法引用(指向)数据。优点缺点提高数据检索效率,降低IO成本需要占用空间索引列对数据进行排序,降低了数据排序的成本,减少CPU消耗因为更新表的时候也要更新索引,所以降低了更新表的速度但是现在磁盘很便宜,且正常情况下增删改数据库的频率很小,所以以上劣势可以忽略。

2023-05-09 16:10:32 1014

原创 【MySQL】事务

事务是一组操作(即sql语句)的集合,是一个不可分割的工作单位,事务当中的所有操作会被作为一个整体向系统提交或撤销,这些操作要么同时成功,要么同时失败。

2023-05-08 11:22:08 241

原创 【高级数据结构】红黑树

红黑树又叫对称二叉B树,是一种自平衡的二叉搜索树,因其插入、搜索、删除节点的效率都比较高而被广泛引用。

2023-04-10 20:35:05 439

原创 C++代码规范

本文针对笔者目前刷题以及面试需求对C++代码规范进行简要梳理总结。实习和工作过程中必然会有更多涉及工程的规范要求,后续会跟进,不包含在本文中。本文参考知乎用户。

2023-03-12 11:59:15 139

原创 【操作系统】进程句柄

它指向进程所要访问的进程对象的地址,是用来找到目标进程的索引,当我们想要访问对象进程时,就要利用存储在本进程中的句柄来找到对象进程。需要不断地将内存中的数据与外存进行调度,而每次调入内存的数据是不会存放到相同位置的(为了提高效率)。以windows系统为例,句柄就是用来标识进程对象的一个序号,用来找到目标进程。例如,进程A和进程B都需要访问进程C,那么,进程A和进程B的句柄表中都会保存指向进程C的句柄,而。,并且这块区域要维护目标进程地址的变化以应对下一次访问的需求,而这块区域内的每一个。

2023-03-10 17:00:39 829

原创 python将.mat文件转换为.txt

3.保存,注意fmt选择自己需要的内容对应的格式(例:%s,%d,%0.8),若不选则默认为%.18f。2.前三个是.mat文件自带的,从第四个开始,选择自己需要的部分,将其保存为.txt文件。1.用.keys()查看.mat文件的shape。文件转换为适合进行数据集分割的。需要将保存文件名列表的。

2022-09-05 17:40:18 3057

原创 【菜鸟教程】 C++学习笔记

创建枚举若枚举没有初始化,即没有 “[=整型常数]” ,则从第一个标识符开始。例如,下面的代码定义了一个颜色枚举,变量 c 的类型为 color。最后,c 被赋值为 “blue”。默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。在这里,blue 的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1,但 red 的值依然为 0。变量声明向编译器

2022-07-31 17:14:50 433

原创 【深度学习】利用python画注意力热点图(heatmap)

跑完计算机视觉模型后,想要看特征图(注意力图)的激活区域对应原图的位置,则需要将激活度大于阈值的特征点标识出来,并将其上采样到原图大小,和原图按一定比例覆盖,可视化效果如下:2. 计算热图3. 批量保存源代码源代码https://github.com/chou141253/FGVC-PIM/...

2022-07-09 16:53:57 7995 4

原创 【LaTex】备忘录

记录LaTex经常忘记的符号

2022-05-26 11:38:12 382

原创 【论文笔记】TransFG: A Transformer Architecture for Fine-Grained Recognition

TransFG简介简介2021年3月 由 字节跳动 在 CVPR 发表的一篇细粒度分类文章。在CUB-200-2011上最高识别精度为 91.7%作者团队称是将 Transformer 在细粒度分类上的首次运用。(可能是真的,不然名字早该被抢掉了😑)作者团队在...

2022-05-13 21:23:38 1552 1

原创 【论文笔记】API-Net:Learning Attentive Pairwise Interaction for Fine-Grained Classification

API-Net简介创新点mutual vector learning(互向量学习)gate vector generation(门向量生成器)pairwise interaction(成对交互)队构造(Pair Construction)实验结果总结简介2020年发表在AAAI的一篇细粒度分类论文。人类在区分不同子类的图像时,会成对地进行比较。本文模仿这一行为,同时提取并融合一对图片的特征,提高了网络辨别不同目标的能力。槽点:开源代码环境居然用的 pyton2.7 + torch0.4.1 的远

2022-05-09 13:04:52 681 2

原创 【论文笔记】AP-CNN: Weakly Supervised Attention Pyramid Convolutional Neural Network for FGVC

AP-CNNtasktaskFine-Grained Visual Classification(细粒度视觉分类),以下简称FGVC。相较于传统的目标检测和分类,有如下两个难点:1.高类内方差(high intra-class variance):  图片中属于同一类别的对象通常呈现显著不同的姿态和视角。2.低类间方差(low inter-class variance):  下属类(例如哈士奇和金毛两个下属类,都属于狗这一超类)之间的视觉差异往往是微妙的,因为它们属于同一超类别。...

2022-05-02 16:30:03 2122 3

原创 Markdown使用总结

记录markdown使用过的快捷键、指令以及一些格式规范

2022-04-29 15:20:25 239

原创 【C++学习笔记】(2)内存管理

结构体中const使用。如果结构体数量很大或者使用结构体数组,每次把结构体当成形参传入函数后会申请大量的内存,此时使用指针作为形参传入显然开销更低,但是可能会更改原来结构体中元素的值,此时使用const可以保证被修饰的结构体对象不被更改,状态为只可读、不可写。...

2022-04-21 16:48:42 121

原创 【C++学习笔记】(1)常量指针和指针常量

目录1.常量指针定义:代码形式举例说明2.指针常量定义代码形式举例说明1.常量指针定义:又叫常指针,可以理解为常量的指针,即指向常量的指针,这里的常量是指针指向内存中保存的值,所以常量指针指向的内存中存放的值不能由这个指针修改。代码形式int const *p;const int *p;举例说明int a = 10;int b = 10;int const *p = &a;*p = 20; //不可行,常量指针指向的内存中的值不能由该指针进行修改p = &b; /

2022-04-15 21:39:50 353

原创 【leetcode】(1)双指针

力扣刷题总结:双指针技巧

2022-04-13 22:09:53 902

原创 【论文笔记】PP-YOLOE: An evolved version of YOLO

PP-YOLOE简介改进1.针对泛化性1)可变卷积(deformable convolution)2)Matrix NMS2. Anchor-free简介2022.3.24,百度飞浆推出PP-YOLOE,作为22年的第一个YOLO改进版,官方号称测试性能(在MS COCO上)全面领先YOLOX。尤其是速度方面,在-s模型上达到208FPS,相较于YOLOX-s的119FPS,几乎翻倍!而在性能上,以PP-YOLOE-x为例,在MS COCO上的mAP达到52.2%,毫无疑问是目前综合性能最好的yol

2022-04-03 11:25:29 5971

原创 冻结训练和解冻训练的区别

深度学习中冻结训练和解冻训练的区别

2022-03-24 19:49:31 12434 6

原创 python利用图像处理方法 实现多目标检测与裁剪(opencv)

利用图像处理方法批量对多目标图像进行检测和裁剪

2022-03-15 20:38:45 9987 5

原创 批量数据增强(扩充):目标检测系列(2)亮度、色域、对比度、噪声

对目标检测数据集进行批量数据增强,保留对标注信息的修改并批量保存

2022-03-09 20:56:06 3947 1

原创 批量数据增强(扩充):目标检测系列(1)缩放

批量数据增强:目标检测系列(1)缩放目标检测的数据增强需要同时对标注数据进行修改。

2022-03-09 11:10:14 5768 2

原创 计算机视觉与深度学习 学习笔记【二】分类器设计

文章目录分类器设计1. 线性分类器1.1 图像类型:略1.2 图像表示:大多数分类算法都要求输入**向量**1.2.1 最简单的方法1.3 分类模型1.3.1 线性分类器定义1.3.3 线性分类器的分界面1.4 损失函数1.4.1 损失函数定义1.4.3 正则项与超参数1.5 优化算法1.5.1 什么是参数优化1.5.2 各类优化算法1.6 数据集划分1.7 数据预处理分类器设计1. 线性分类器知识点分布:1.1 图像类型:略1.2 图像表示:大多数分类算法都要求输入向量1.2.1 最简单的方

2021-12-01 15:12:35 3997

原创 计算机视觉与深度学习 学习笔记【一】 图像分类

这里写自定义目录标题图象分类1.难点1.1 语义鸿沟1.2 视角1.3 光照1.4 尺度1.5 遮挡1.6 形变1.7 背景杂波1.8 类内形变1.9 运动模糊1.10 类别繁多2.规则的方法可行性探究2.1 硬编码(通过人来总结规律)3.数据驱动的图像分类范式3.1 数据集构建3.1.1 有监督任务(主要)3.1.2 无监督任务(次要)3.2 分类器的设计与学习(核心步骤)3.3 分类器决策4. 分类器学习环节4.1 图象表示4.1.1 像素表示(在神经网络中占绝对主流)4.1.2 全局特征表示(如GIS

2021-11-28 20:35:09 2229

原创 c语言:动态输入字符串数组

考研题中经常会遇到给定一条英文句子,让我们对其每个单词进行操作,不同于对整型数据操作,字符串在c语言中必须存放到数组中,无形之中又给考题增加了难度一般情况下,字符串数组都以二维数组或指针数组定义,而二维数组不能初始化为空,所以本文动态定义以指针数组为例,代码如下#include<stdio.h>#include<stdlib.h> //字符串数组默认可以用空格隔开!!!!#include<string.h>#include<malloc.h>vo

2020-07-12 12:07:42 9257 3

原创 C语言数据结构:二叉排序树和哈夫曼树

文章目录二叉排序树哈夫曼树二叉排序树个人理解:满足 左孩子<根结点<右孩子 的二叉树即为二叉排序树。这块考研要求不高,所以我只按照书本总结了插入建立和查找的程序:#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct BST{ //结构体 int data; struct BST *lchild,*rchild;}*tree,node;node *sea

2020-06-29 21:18:53 1698

原创 C语言数据结构:非递归遍历二叉树

非递归遍历二叉树这一部分内容并不难,可就是找不到完整的可实现代码教程,书上也只是粗略带过,不死心的我决定编程实现一下,也算是对我数据结构树遍历这一部分的检验。查错排错还是花了不少时间,不多赘述,代码如下:#include<stdio.h>#include<string.h>#include<stdlib.h>#define elemtype char#define maxsize 50...

2020-05-28 23:07:14 673

原创 C语言数据结构:二叉链表和线索二叉树(中序)

二叉链表个人理解:二叉链表结点的结构和双链表一样,都有前后两个指针域,所以二叉链表虽然是树形结构,却依然被称为链表,也正因为它们存储结构的相似之处,我们可以利用一些链表的方法(例如头结点)方便地对二叉树进行操作。二叉链表的建立和遍历通过递归都比较简单,不多赘述,代码如下#include<stdio.h>#include<string.h>#include<stdlib.h>#define elemtype chartypedef struct BiTNo

2020-05-19 23:14:58 2162

原创 c语言顺序二叉树和fflush(stdin)

顺序二叉树在课本上可考研中出现的频率都很少,也不像二叉链表那样具有丰富的可操作性,故本文只写顺序二叉树的建立和学习过程中遇到问题——fflush(stdin)(清除输入缓存)。1.顺序二叉树过程不繁琐,直接上代码#include<stdio.h> //递归建立顺序二叉树,数组第一位存放结点个数#include<string.h>#include<stdlib.h>#define maxsize 51 //第一位存放二叉树结点个数,从而根结点序号为1,所有

2020-05-18 14:02:27 179

原创 C语言数据结构:队列(循环队列、链式队列)

1.循环队列个人理解:1.顺序队列其实就是一个受限数组,只允许尾进头出,从而达到先进先出的效果,而先进先出这四个字就是队列存在的意义。(大佬勿喷)2.循环顺序队列,简称循环队列就是为了避免队列假溢出的现象,以队列maxsize为辅助,将原数组变为了可循环的样式。不难理解,代码如下...

2020-05-14 23:11:42 282

原创 C语言顺序栈:共享栈

共享栈个人理解:共享顺序栈栈就是普通顺序栈在存储数组的另一头加上第二个栈顶指针。从而能够更有效地利用存储空间。而顺序栈与链栈的区别可以参考顺序表和链表的关系。代码如下#include<stdio.h>#include<stdlib.h>#include<string.h> //共享栈#define maxsize 20#define elemtype inttypedef struct{ elemtype data[maxsize]; int t

2020-05-13 13:35:03 775

原创 C语言数据结构:顺序栈(基本操作与应用——括号匹配)

顺序栈的基本操作个人理解:顺序栈其实就是一个数组,只不过人为地给其加上限制,使得入栈元素满足后进先出的规则。在实际运用中,栈大都作为辅助结构,是帮助解决问题的一种手段。在考研中,单独对栈的编程题也很少出,就算运用到栈的方法,也不可能让我们针对栈写函数,直接在函数里定义一个数组,令其满足后进先出的规则即可代表栈。(相对的,这也是我总结的最轻松的一篇hah)废话不多说,都在代码里#include<stdio.h>#include<string.h>#include<std

2020-05-13 11:59:58 1353 4

原创 C语言数据结构:链表基本操作(增删查改,逆置,合并)

链表基本操作,本文是 链表建立 的下篇(抱歉隔了那么久才更新)本文主要完善一些单链表的基本操作废话不多说,直接上代码

2020-05-08 17:35:56 380

原创 c++语法识别(简易的语法分析器)

大三下学期编译原理第二次实验。一. 题目 递归向下的语法分析程序二. 目的通过设计、编制、调试一个典型的语法分析程序,能识别由加+、乘*、括号()、操作数所组成的算术表达式,其文法如下:E→TE’E’→+TE’∣εT→FT’T’→*FT’∣εF→(E)∣i三. 要求1.程序功能(举例)输入:# i1*( i2+i3)#输出:S...

2020-05-04 22:28:57 3264 3

原创 C语言数据结构:链表建立(单链表头插法尾插法、循环链表、双链表、静态链表)

为了统一格式,各链表都带头结点1.头文件和宏定义(各链表通用)

2020-04-05 22:30:11 1371

原创 C语言数据结构:顺序表(附源码)

1.运行界面2.编程过程过程中的思考1.不按课本中的思想(从表头开始插入),而是从表中或表尾开始插入数据元素,结果如何,运行如下:请输入您想进行的操作序号:1.新建一个空表2.在指定位置插入一个数据元素3.删除指定位置的数据元素4.修改指定位置元素5.输出表内全部元素6.查询某位置的数据7.查询某数据的位置8.退出...

2020-03-28 00:15:55 1539

C++11实现的跳表源码

C++11实现的跳表源码

2023-06-15

应届毕业生程序员简历模板

极简风格的建立模板,针对技术岗

2023-05-09

应届大学生求职简历模板

简历模板用作保存

2023-05-09

深度学习-目标检测预处理-按比例缩放图片

目标检测批量按比例缩放图片。

2023-02-20

深度学习-目标检测预处理源代码

目标检测批量数据增强,对所选数据集进行亮度、对比度、色彩翻转和随机噪声的变化。 从而达到扩充数据集的目的。

2023-02-20

深度学习利用python画注意力热图

批量给图像画注意力热图

2022-07-09

python利用图像处理方法 实现多目标定位与裁剪(源代码)

python利用图像处理方法 实现多目标定位与裁剪(源代码)

2022-04-19

空空如也

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

TA关注的人

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