- 博客(45)
- 收藏
- 关注
原创 C++中的泛型算法(一)
标准库容器定义的操作集合很小。标准库并未给每个容器添加大量功能,而是提供了一组算法,这些算法大多数都独立于任何特定的类型。这些算法是通用的(泛型的),可以适用于不同类型的容器和元素。大多数算法都定义在algorithm中,numeric中也定义一组数值泛型算法。由于find操作的迭代器,因此我们可以用同样的find函数在任何容器中查找值。值得注意的是,虽然迭代器令算法不依赖于容器,但算法依赖于元素类型的操作。大多数算法都使用了一个或多个元素类型上的操作。例如,find使用了==完成每个元素和给定值的比较。
2025-02-18 16:05:02
680
原创 C++中的顺序容器(二)
适配器是标准库中一个通用的概念。添加一个新元素时,如果没有空间容纳新元素,就必须分配新的空间来保存已有元素和新的元素。对于一个给定的适配器,可以使用哪些容器是有限制的,所有适配器都要求容器具有添加和删除元素的能力(array不能)以及访问尾元素的能力(forward_list不能)。为了避免这种代价,vector和string的实现通常会分配比新的空间需求更大的内存空间。例如,stack适配器接受一个顺序容器(array、forward_list除外),使其操作看起来像一个stack一样。
2025-02-17 17:47:41
1905
原创 C++中的顺序容器(一)
元素在顺序容器中顺序与其加入容器时的位置相对应。除非有很好的理由选择其他容器,否则使用vector;程序有很多小的元素,且空间的额外开销很重要,则不要使用list或forward_list;要求随机访问,vector、deque;要求在容器的中间插入或删除,list或forward_list;只在头尾插入或删除,deque;输入时要求在中间插入元素,随后要求随机访问:如果在中间插入只是为了排序的话,可以在vector尾部添加元素之后在使用sort排序;
2025-02-17 11:41:18
678
原创 C++中的IO库
由于不能拷贝IO对象,因此不能将形参或者返回类型设置为IO类型。进行IO操作的函数通常以引用方式传递和返回。读写一个IO对象会改变其状态,因此传递和返回的引用不能设置为const。每个输出流都管理一个缓冲区,用来保存程序读写的数据。文本串可能被立即打印出来,但也有可能被操作系统保存在缓冲区,随后在打印。每种文件流都定义了默认的文件模式,当未指定文件模式时,就使用默认模式。还有一点值得注意,如果程序崩溃,输出缓冲区不会被刷新。其中,宽字符版本的类型和函数的名字以w开始。
2025-02-14 11:43:38
868
原创 C++中的类
类的作者通常需要定义一些辅助函数,比如read、print、add等。尽管这些函数定义的操作与类相关,但它们实际并不属于类本身。这些函数的声明应该和类的声明在同一个头文件中。return is;//print应该减少对格式的控制,这样可以确保用户可以正确控制格式return os;
2025-02-10 15:09:28
614
原创 c++中的变量和基本类型(二)
字符型划分为三种:char、signed char、unsigned char。值得注意的是,前两种类型并不一样。char类型会根据编译器的表现为signed活unsigned。变量变量提供一个具名的、可供程序操作的存储空间。对于C++程序员来说,变量和对象一般可以互换使用。作为C++11中的新标准,用花括号初始化得到了全面的应用。这种初始化形式被称为列表初始化。现在不论是初始化对象还是某些时候为对象赋值,都可以使用这样一组由花括号括起来的初始值了。如果定义变量时没有指定初始值,那么会被默认初始化。
2025-02-05 17:54:20
718
原创 C++中的表达式
C++中的表达式由一个或多个操作数通过操作符组合而成。最简单的表达式仅包含一个字面值常量或变量。每个表达式都会产生一个结果。如果表达式中没有操作符,则其计算结果就是操作数本身。除了特殊的用法外,表达式的结果是,可以读取该结果值,但是不允许对它进行赋值。
2025-01-09 17:40:57
750
原创 C++中的数组和指针
/ 一般存在两种声明指针的方式,这两种效果是相同的, 重要的是统一自己的编码风格// *号靠近标识符// *号靠近类型名// 当在一条语句中声明多个指针时,一般使用第一种方式在c++中,指针和数组有着非常紧密的联系。// 等价于 string *p = &nums[0]// 使用auto 推断数组得到也是指针类型// string*p2 = p;// ok, 都是string*// 使用decltype可以得到数组类型newNum = p;
2025-01-06 17:57:26
392
原创 多标签的不平衡
在对目标 bag 生成新数据的同时,不仅会影响目标 bag 的 IRlbl(IRperLabel),还会影响其它 bag 的值,因此在每一个周期开始之前,都要重新计算该值,如果超过 MeanIR,则不在为该 bag 生成新数据。整个式子想表达的意思就是拥有最多正标签的标签与目标标签的一个比值,加入目标标签就是拥有最多正标签的标签则比值为 1,目标标签拥有的正标签越少则不平衡度越大。为每一个少数类标签生成一个 bag,里面的样本都拥有该标签。对每一种标签进行一次判断,找到所有的少数类。
2025-01-03 14:19:21
511
原创 Learning from imbalanced data: open challenges and future directions
imbalanced data
2022-06-09 20:19:44
57
原创 GPU中值、均值滤波效果
GPU的应用均值滤波中值滤波时间对比均值滤波如上图所示,从左到右分别是原图,以及通过均值滤波33,55处理后的图片,55的效果比33的好。中值滤波如上图所示,从左到右分别是原图,以及通过中值滤波33,55处理后的图片,55的效果比33的好。时间对比中值滤波比均值滤波效果好。无论是中值还是均值滤波,55滤波器的的效果都比33的好。当使用中值滤波时,利用gpu比利用cpu可以节约大量的时间,因为中值滤波需要进行排序处理,使用cpu的多重循环较为耗时,gpu则可以少两重循环。...
2022-05-30 21:32:23
560
1
原创 不平衡问题相关讨论
2022/05/26类别不平衡的分类问题类别不平衡的分类问题重采样(re-sampling):这是解决数据类别不平衡的非常简单而暴力的方法,更具体可以分为两种,对少样本的过采样,或是对多样本的欠采样。当然,这类比较经典的方法一般效果都会欠佳,因为过采样容易overfit到minor classes,无法学到更鲁棒易泛化的特征,往往在非常不平衡的数据上泛化性能会更差;而欠采样则会直接造成major class严重的信息损失,甚至会导致欠拟合的现象发生。数据合成(synthetic samples):若
2022-05-26 18:52:24
655
原创 Spectral–spatial hyperspectral image classification
2022/05/18-遥感影像的全色、多光谱、高光谱图像高光谱图像分类Spectral–spatial hyperspectral image classification based on KNN遥感影像的全色、多光谱、高光谱图像遥感成像原理: 光进入相机镜头,光电感应装置将光信号转换为电信号,量化电脉冲信号,记录为一个像素值。传感器响应函数设计为,要使光电感应装置产生这个电脉冲信号,光子强度必须达到一个阈值。进入镜头的光子数量取决于相机的感受野大小,镜头能通过的光子。多光谱图像要分出多个波段,镜头会
2022-05-18 15:55:33
850
原创 每日总结(2022/05/17-)
2022/05/17-线程配置实验设备实现2个矩阵(Width=2048, Height=1024)的相加,输入的矩阵A,B按照以下要求初始化,矩阵A的初始值全为本人学号的最后1位数字,矩阵B的初始值全为本人学号的倒数第2位数字。同时用CPU代码实现,比较两个代码的运行时间。用二维线程结构来计算矩阵加法,每一个线程对应一个矩阵元素线程配置从上图得出我的计算机在每个Block有128,256,512个线程时,资源利用率最大。int nx = 2048;int ny = 1024;dim3
2022-05-17 21:15:17
613
1
原创 CUDA进行矩阵相乘的两种方式
2022/05/16(一)目的掌握利用CUDA进行矩阵相乘的两种方式(全局内存和共享内存)(二)内容完成矩阵乘法的并行程序的实现任务描述:考虑计算两个大规模的矩阵乘法: C=A*B。其中A的大小为1000×800,B矩阵大小为800×1200,C矩阵大小为1000×1200。矩阵初始化要求如下:(1)A矩阵的初始化:每一行第1个位置为学号最后1位,以后位置为第1个位置依次加1。例如张三同学学号:20210001123,A[0][0] =3,A[0][1] =4,A[0][2] =5…(2)B
2022-05-16 21:06:04
69
原创 CUDA 程序架构
2022/05/13目的内容(一)(二)(三)目的熟悉基本的 CUDA 程序架构以及如何调用相应的 API 进行 CUDA 编程。内容实现 2 个矢量(长度 50000)的相加,输入的矢量 A,B 按照以下要求初始化,矢量A的初始值全为本人学号的最后 1 位数字,矢量 B 的初始值全为本人学号的倒数第 2 位数字。同时用CPU代码实现,比较两个代码的运行时间。完成以下三个版本的 CUDA 核函数。(一)用每个线程来计算矢量加法的一个输出元素。/** * Vector addition:
2022-05-13 22:57:27
68
原创 A Bayesian Approach to Digital Matting 论文阅读报道
2022/05/05matting equationBlue Screen Mattingmatting equationC=αF+(1−α)BC=\alpha F + (1-\alpha)B C=αF+(1−α)B其中,CCC表示组合之后的图像的颜色,FFF表示组合之前的前景图像颜色,BBB表示组合的背景颜色,α\alphaα是像素的不透明度成分,用于在前景和背景之间线性融合。Blue Screen Matting拍摄前景目标在确定的背景上的图像,然后求解前景和透明度。Rc=αRf+(1−α)
2022-05-05 19:54:00
1784
原创 Retinex 理论及 Deep Retinex Decomposition for Low-Light Enhancement 论文阅读报道
2022/05/02-04Retinex 理论Deep Retinex Decomposition for Low-Light Enhancement网络结构损失函数数据集实验结果结论Retinex 理论理论基础真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜(肥皂膜)却是显现五彩缤纷,那是薄膜表面光干涉的结果;每一颜色区域由给定波长的红、绿、蓝三原色构成的;三原色决定了每个单位区域的颜色。内容Retinex 理论的基本内容是物体的颜色是
2022-05-04 20:44:19
850
原创 Deep Retinex Decomposition for Low-Light Enhancement 论文阅读报道
2022/04/29Retinex 理论Retinex-Net for Low-Light Enhancement网络结构Retinex 理论理论基础真实世界是无颜色的,我们所感知的颜色是光与物质的相互作用的结果。我们见到的水是无色的,但是水膜(肥皂膜)却是显现五彩缤纷,那是薄膜表面光干涉的结果;每一颜色区域由给定波长的红、绿、蓝三原色构成的;三原色决定了每个单位区域的颜色。内容Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的
2022-04-29 20:39:11
231
1
原创 标签增强与热传导
标签增强首先构造特征到标签的全链接图G=(X,Y,W)G=(X,Y,W)G=(X,Y,W),其中X=(x1,x2,…,xn)X=(x_1,x_2,\dots,x_n)X=(x1,x2,…,xn),表示nnn个样本节点,Y=(y1,y2,…,ym)Y=(y_1,y_2,\dots,y_m)Y=(y1,y2,…,ym),表示mmm个标签节点,WWW为全连接图的权重矩阵,表示为wij={1,if(lij=1)0,otherwisew_{ij}=\begin{cases} 1 ,if(l_{ij}=1
2021-10-26 23:59:17
63
1
原创 Label Enhancement
符号表符号说明x\bm{x}xinstance variableinstance \ variableinstance variablexi\bm{x}_ixiparticular i−th intamceparticular \ i-th \ intamceparticular i−th intamcey\bm{y}ylabel variablelabel \ variablelabel&nb
2021-10-09 21:07:00
62
原创 LDL小组研究准备
LDL小组研究准备1、如何快速进入研究状态读综述性文章,在顶刊顶会上相对应的文献,在读了一定量的文献之后,尝试对综述性文章进行补充,因为现在我们在网上搜索到的相关文章上所收录的文献大多都是2年之前的。如果能够自己写出LDL领域的综述性文章,那么就代表着在该领域上我们已经建立起了一套清晰的学习框架。除了读文献,还应该学会如何写论文(标题、摘要、画图),其中画图尤为重要,有了一个好的图,能够大大增加论文的通过率。最后一点就是接受师兄师姐的工作,在研究的最开始有一个能够请教的师兄或者师姐能够让我们少走很
2021-09-15 15:19:41
101
原创 如何做研究,如何写论文如何做研究,如何写论文
如何做研究,如何写论文首先知道了什么是研究,所谓研究就是拓展新知识,发明新技术。第二点是知道研究的目的,在我们生活中使用到的技术大多都是工业界成熟技术,这也说明了我们现在或者研究生期间花费大量精力去研究的课题可能很久之后才会进入实际应用,还有可能永远也不会投入实际应用,但这并不意味着我们所做的研究都是一些无用工作,并不是只有能够投入现实生活中的研究才是有用的研究,能够获得同行认可,给与同行以一定程度的启发的研究也是有用的。对于第三点,写论文的难易,我现在还没有太深的感受,对于这一点的体悟也许只能等自
2021-09-09 19:34:58
274
原创 ROC-AUC
ROC-AUCROC如果我们使用的是一个二分类的模型,可以把预测情况与实际情况两两结合,就会出现4种情况,如下表所示:pre_label\true_labelPositiveNegativePositiveTPFPNegativeFNTNTP(true positive):表示样本的真实类别为正,最后预测得到的结果也为正;FP(false positive):表示样本的真实类别为负,最后预测得到的结果却为正;FN(false negative):表示样本的
2021-08-04 01:09:05
246
1
原创 初识标签分布学习
08031、写出本例中的U,C,D\mathbf{U}, \mathbf{C}, \mathbf{D}U,C,D和V\mathbf{V}V,注: 最后两个属性为决策属性,III是怎么表示的?U={x1,x2,x3,x4,x5,x6,x7}\mathbf{U}=\{x_1,x_2,x_3,x_4,x_5,x_6,x_7\}U={x1,x2,x3,x4,x5,x6,x7}.C={Headache,Temperature,Lymphocyte,Leukocyte,Eosinophil}\m
2021-08-03 23:34:18
112
1
原创 2021-08-02
0802-1定义无向网络An undirected net is a tuple G=(V,w)G = (\mathbf{V}, w)G=(V,w), where V\mathbf{V}V is the set of nodes, and w:V×V→Rw:\mathbf{V} \times \mathbf{V} \to \mathbb{R}w:V×V→R is the weight function where w(vi,vj)w(v_i,v_j)w(vi,vj) is the weight o
2021-08-02 22:46:15
91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人