自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】const和shared_ptr的搭配使用

const和智能指针的搭配使用

2024-01-09 18:48:31 533

原创 【CUDA】CUDA 类型转换

官方文档藏得比较深,用来备忘文档:https://docs.nvidia.com/cuda/cuda-math-api/group__CUDA__MATH__INTRINSIC__CAST.html#group__CUDA__MATH__INTRINSIC__CAST。

2023-07-07 17:09:38 293

原创 【BEV-former简读】

paper:git:三个部分: back-bone(ResNet-101), spatial cross-attention module, temporal self-attention module。

2023-04-03 12:11:57 497

原创 【C++】构造函数、拷贝构造函数、移动构造函数、拷贝赋值运算符重载、移动赋值运算符重载

构造函数、拷贝构造函数、移动构造函数、拷贝赋值运算符重载、移动赋值运算符重载

2023-03-04 18:12:38 109

原创 【TensorRT】Video Swin-Transformer部署相关

TensorRT部署推理相关填坑

2022-06-10 11:34:54 1049 4

原创 【python】数据重采样技巧:自定义概率分布采样

碎碎念近期做数据处理的时候准备尝试下根据标签分布构建自定义采样概率来缓解data imbalance问题。举个例子,比如有一个标签类别年龄 = {幼年, 青年, 中年, 老年},某场景下标签分布为 {100, 4000, 8000, 2000},构建一种自定义采样概率 {0.528, 0.155, 0.122, 0.195},如何依据这种自定义概率分布进行多次采样呢?函数random.choices(population,weights=None,*,cum_weights=None,k=1)

2022-05-06 10:06:02 1531

原创 【代码解析】mmaction2: Video Swin Transformer

网络结构在DHW三维上构建window进行self-attention提取,所以同时提取了spatial和temporal两个维度的关联性SwinTransformer3Dpatch_embed: PatchEmbed3D 将输入三维信号切分成多个3d-patch,patch_size默认(2,4,4),对每个patch使用3d-conv进行特征提取并降采样padding:对无法被patch_size整除维度进行填零paddingself.proj = conv3d(3, 96, ke.

2022-04-22 17:13:18 4291 6

原创 【代码解析】mmaction2: SlowFast

网络分成slow pathway和fast pathway分别对spatial和temporal维度特征进行提取Backbonefast_pathway:x_fastnn.functional.interpolate(): Fast pathway在时间维度进行密集采样,空间维度不变。self.slow_path.conv1: kernel=(5,7,7) 输出尺度 e.g. (N_fast,64,5,H,W)x_fast_lateral: ConvModule(kernel_size

2022-04-07 18:37:07 3818

原创 【L39】组合总和

描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。所有数字(包括 target)都是正整数。解集不能包含重复的组合。例子:输入: candidates = [2,3,5], target = 8输出: [[2,2,2,2],[2,3,3],[3,5]]思路DFS+剪枝:先做排序,将大值优先搜索回溯模板void dfs(当

2021-12-21 13:05:01 157

原创 【L31】下一个排列

描述给定一个数组,例如[1,3,2],寻找下一个最小的大于当前数组组成的数字的数组,例如[2,1,3]思路双指针 + 从右向左找降序邻接对,“小数” + 从右向左找“大数” + 排序想法:从右向左如果为升序,那么无法找到更大组合,所以需要找到降序元素,再对降序元素的较小数跟较大数进行替换,才能得到更大组合1.从右向左寻找第一组邻接的降序对2.如果没有找到,翻转数组,返回;如果找到,降序对的首元素作为“小数”,记录“小数”下标3.从右向左寻找第一个比“小数”大的元素作为“大数”,记录“大数”下标

2021-10-26 11:24:43 47

原创 【L347】Top-K问题

描述【Leet code 347】给定一个数组,返回前K个出现次数最多的元素。思路1.构建哈希表(std::unordered_map)记录元素和出现次数2.构建优先队列(std::priority_queue)遍历哈希表入队3.优先队列出队k个元素复杂度时间:O(N*log(k))空间:O(N)代码(C++)/* 【L 347】Top-K 问题* 返回前K个元素*/class cmp_prt_queue{public: bool operator()(std::pa

2021-10-25 18:34:20 90

原创 NMS实现(C++)

思路1.对所有Pred框依据置信度排序2.遍历所有Pred框3.计算Pred当前框P(i)和其余候选框P(j)的IOU4.如果IOU>thresh,从预测框集合中剔除P(j)代码//构造函数、析构函数、拷贝构造函数、运算符重载函数、取地址符重载函数、const修饰的取地址符重载函数Class Rect{ Rect(){}; Rect(int x, int y, int w, int h, float score) { this->x = x; this->y

2021-10-22 18:36:06 400

原创 【L】快排

思路递归,双指针每次迭代将一个基数的左侧元素都<基数,右侧元素都>基数递归函数:1.创建基数,创建start、end和left、right双指针循环直到left>=right 2.从末尾找第一个比基数小的元素作为right指针,再从首位找第一个比基数大的元素作为left指针 3.swap(left,right)4.swap(基数,left)5.基数左侧进行递归(start, left)6.基数右侧递归函数(left+1, end)复杂度时间:O(nlog(n))

2021-10-19 14:40:03 61

原创 【L】链表翻转

思路双指针法,就地翻转1. 创建left和right指针,指向待翻转的两元素;循环(直到right指针指向为nullptr): 2. left->next和right->next指向更新; 3. head和right指向后移;(每次迭代都是head和right指针指向更新,right指针指向不变)复杂度时间:O(N)空间:O(1)代码(C++)struct ListNode{ ListNode* next = 0; int val = 0; ListNode(int

2021-10-19 10:55:21 51

原创 K-means实现(C++)

k-means步骤步骤1:随机设置K个中心点步骤2:每个点计算到各中心点距离,选取距离最近的中心点,进入聚类簇集步骤3:计算并得到每个聚类簇集的重心(点集的均值)步骤4:计算重心与簇集中心距离,如果距离>设定阈值,重新进入步骤2;否则跳出代码实现/* k - means */class Point{ //Point() { this->x = 0; this->y = 0; };public: Point() {}; ~Point

2021-10-13 11:06:27 400

原创 卷积 vs. 深度可分离卷积(FLOPs计算量)

卷积 vs. 深度可分离卷积(FLOPs计算量)FLOPs(FLoat Point OPerations)浮点计算量1.二维卷积输入特征图:(H,W,Cin)(H,W,C_{in})(H,W,Cin​)卷积核:(K,Cout)(K,C_{out})(K,Cout​),步长为SSS,Padding为PPP输出特征图:(Hout,Wout,Cout)(H_{out},W_{out},C_{out})(Hout​,Wout​,Cout​)其中Hout=(H+2∗P−K+1)/SH_{out}

2021-10-12 20:35:55 944

原创 Linux下Libtorch运行出现free(): invalid pointer报错

【问题】Linux环境下编译Libtorch-gpu 1.2.0,GCC版本5.4.0,编译正常,但运行时出现以下报错:*** Error in `./xxx/xxx/xxx': free(): invalid pointer: 0x00007f52a2101c50 ***======= Backtrace: =========/lib64/libc.so.6(+0x81329)[0x7f520ec08329]/xxx/build/lib/libobject_detector.so(_ZN8

2021-08-25 09:56:36 1358

转载 Caffe-图像识别训练

step 1.      首先,确保caffe已经正确安装,并且make runtest基本通过。 step 2.      准备训练集:        在训练之前,要准备训练需要的训练集,为了验证训练的效果,最好也准备一定数量的测试集。由于caffe的数据集的输入是leveldb格式,因此在训练前需要将输入转为相应格式。        在caffe_root/ex

2015-08-07 22:52:01 1584

转载 Convolutional-Neural-Network (CNN)框架详解

技术向:一文读懂卷积神经网络技术网络36大数据(张雨石) · 2015-03-06 05:47自今年七月份以来,一直在实验室负责卷积神经网络(Convolutional Neural Network,CNN),期间配置和使用过theano和cuda-convnet、cuda-convnet2。为了增进CNN的理解和使用,特写此博文,以其与人交流,互有增益。正文之前,

2015-08-07 22:47:41 1024

转载 信息增益,信息增益率,Gini

在看Random Forest的时候,最优特征选择的常用方法查了下一般有三种:信息增益(Info Gain)用于ID3,Gini用于CART,信息增益率(Info Gain Ratio)用于C4.5。提到前两个指标的计算时,首先要讲到的是关于熵(Entropy)的计算。1、熵(Entropy)理论上来说用于决策树的属性选择函数,为方便计算,往往是定义为其属性的不纯性度量,那

2015-04-29 14:06:59 499

空空如也

空空如也

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

TA关注的人

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