- 博客(22)
- 收藏
- 关注
原创 二分查找-35题
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。1.必须是数组(顺序表)请必须使用时间复杂度为。
2025-09-25 14:37:00
126
原创 enumerate()--列表推导式结合
结果:[(1, 'apple'), (2, 'banana'), (3, 'cherry')]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。return [] # 未找到解。# 创建带原始索引的元组列表。# 生成(索引, 值)元组列表。Leetcode第一题。
2025-09-24 10:54:38
279
原创 数据结构(C语言版)--线性表-链表
单链表的缺点:不可随机存取,要耗费一定的空间存放指针。单链表的优点:不要求大片连续的空间,改容量方便。顺序表的缺点:要求大片连续的空间,改容量麻烦。每个节点除了存放数据元素外,还要存储指向下一个节点的指针。顺序表的优点:可随机存取,存储密度高。链表的分类:单链表、双链表、循环链表、静态链表。逻辑结构:线性 物理结构:链式存储。单链表的实现:带头节点/不带头节点。
2025-09-22 19:16:23
196
1
原创 数据结构(C语言版)--线性表-顺序表
时间复杂度0(1):由于顺序表的各个数据元素在内存中连续存放,因此可以根据起始地址和数据元素大小立即找到第i个元素--“随机存取”特性。:虽然节点可存储不同类型数据,但节点间的指针连接和操作逻辑(如插入、删除)需基于统一的数据类型设计,否则会破坏链表的完整性。考虑程序的使用性,应该排除:1.L.length = MaxSize 2.判断i的范围是否有效。线性表中的元素可以是各种各样的,但是同一线性表中的元素必须为。GetElem(L,i):从L表中获取第i个位置的元素的值。
2025-09-16 02:17:22
149
原创 VIT 代码debug
本文介绍了命令行参数的调试方法,重点讲解了在远程服务器上运行程序时如何通过指定参数提高效率。文章详细记录了调试transformer模型的步骤:从安装tqdm库开始,解决目录报错问题,到深入分析transformer的结构和数据处理过程。具体包括:在embeddings和forward函数设置断点,分析768维token的处理,卷积操作的维度变化(16×768×14×14),位置编码的添加,以及多头注意力机制的工作原理(将768维分解为12头×64维)。整个过程展示了如何使用调试工具追踪数据流,理解tran
2025-07-21 22:31:09
427
原创 U-Net:用于生物医学图像分割的卷积网络
本文提出了一种改进的全卷积神经网络架构(U-Net)来解决医学图像分割中的两个关键问题:处理速度慢和定位精度与上下文感知的矛盾。该网络采用U形对称结构,通过上采样操作替代池化层,将高分辨率特征与上下文信息结合,实现精确定位。网络使用弹性变形数据增强提升泛化能力,并采用无填充卷积和镜像推断策略处理边界像素。实验显示训练损失持续下降,但测试集出现背景过多问题,需进一步调试模型优化分类性能。
2025-05-27 23:55:12
315
原创 Could not fetch URL and couldn‘t find the version
search之后发现,关闭VPN是最有效的。有的办法说的更换镜像源,但是自己尝试换成清华源、或者阿里云的后还是不行。opencv-python的下载需要彻底关闭clash,否则会出现Could not fetch URL。在requirement.txt中直接下载opencv-python,发现有问题。尝试用pip单独下载,问题一样。
2025-05-27 22:58:30
127
原创 缝合代码:CBAM模块
为了有效地计算通道注意力,CBAM首先对输入特征图的空间维度进行压缩,同时使用平均池化和最大池化操作来捕获不同的空间上下文描述符,这些被送入共享的多层感知机(MLP)以产生通道注意力图。2.自适应特征重标定,通过通道注意力和空间注意力的逐步应用,CBAM能够自适应地调整输入特征图中每个通道和空间位置的重要性。4.计算效率高,尽管CBAM为模型引入了额外的计算,但其设计考虑了计算效率,如通过全局平均池化和最大池化来简化通道注意力的计算,通过简单的卷积操作来实现空间注意力。两个顺序子模块:通道和空间。
2025-05-21 00:05:17
574
原创 YOLO算法的学习
应用领域:无人驾驶、视频监控、机器人视觉等时性要求高的应用场景特征提取:逐窗口遍历目标检测问题归为:一个单阶段的回归任务。YOLO能够直接将输入图像划分为若干网格(Grid),并在每个网格中直接回归边界框(Bounding Box)与类别置信度,从而实现了高效的目标检测。从完整图像中一次性预测出边界框和类别概率,从而实现了检测流程的端到端优化。速度优势、通用性能强、当与自然图像中的其他检测方法(如DPM和R-CNN)相比时,YOLO在泛化到其他领域时表现出色,这显示了其强大的适应性和鲁棒性。
2025-05-07 21:34:21
371
原创 Deep Learning on Point Sets for 3D Classification and Segmentation
典型的卷积架构需要高度规则的输入数据格式,如图像网格或3D体素,以便执行权重共享和其他内核优化。然而,这种数据表示转换使生成的数据变得不必要的庞大,同时还引入了量化工件,可能会模糊数据的自然不变性。, n},其中每个点Pi是其(x, y, z)坐标加上额外的特征通道(如颜色,法线等)的向量。该分类网络以n个点作为输入,进行输入和特征变换,然后通过最大池化对点特征进行聚合。它连接全局和局部特征,并输出每个点的分数。它是一种学习全局和局部点特征的统一架构,为许多3D识别任务提供了一种简单、高效和有效的方法。
2025-04-08 23:53:55
177
原创 计算机视觉-三维重建论文阅读
尽管这种专门的架构[6,10,24,37]已经推进了每个单独的任务,,缺乏推广到其他任务的灵活性,例如,基于FCN的体系结构在实例分割方面存在困难,导致实例分割与语义分割的不同体系结构的演变。:体素,是2D像素概念的3D扩展。易于实现和训练,增强输入数据,在训练阶段将每个图片旋转成n个不同方向的实例,并在输出层后添加池化操作,对测试阶段n个实例的所有预测进行分组。:通过对CNN的第一部分对不同视图下的图像进行分别处理,然后通过视图池层对不同视图下提取的特征进行聚合,最后将合并的特征放到CNN的剩余部分。
2025-03-24 08:01:49
1187
1
原创 C语言-数据结构-第一节
对于C语言、C++、Java这些早期面向过程的编程语言,需要先申明变量类型,向计算机请求一定大小的内存。而对于Python这类面向对象的编程语言,则不需要,计算机会自动识别数据的类型。字符串的赋值: 常见错误方式: int str[11];:除了在字符串中展现的内容之外,内存中在字符串的末尾还有/0,以标示字符串以及字符串的结束标志。int *p为申明指针,其他时候用p,都是在解引指针,表示指针存储的地址所指的变量。输出结果:&a = p &p为指针p 的地址。
2025-03-13 19:53:04
383
原创 用C语言书写结构体
1.结构体的作用:由于C语言无法直接访问数据库,使用结构体可以定义多个不同类型的变量,类似于Python中的封装(实际上,这就是一种封装)。struct 结构要写在int main的前面,如果写在后面的话,就会出现下面的报错。分号不要忘记,因为也是相当于是完整的句子。
2025-03-07 20:52:16
179
原创 ||和&&的短路特性
这时候只需要去看执行完a后,能不能确定整个表达式的真假,如果可以确定,就不用计算b,反之则计算。&&代表或,a&&b中,要a,b两个都为真则确定整个为真,当其中一个为假时,整个表达式为假。||代表或,a||b中,只要a,b中有一个为真则确定整个为真。当a为假时,无法确定整个表达式的真假,就需要再计算b。因此当a为真时,无法判断整个表达式为真,需再计算b。因此当a为真时,整个表达式为真,就无需再计算b。当a为假时,确定整个表达式为假,不需要再计算b。当a为真(非零)时,不计算b。当a为真(非零)时,计算b。
2025-01-04 15:32:43
434
原创 C语言中的%
估计是上课的时候没有认真听,导致自己犯下这么低级的错误,而且现在才发现。学了几个月C语言,今天才发现自己之前对%,的理解是完全错误的!并不是像我之前所理解的那样,两个数相除的结果,然后保留小数位。在学习计算机语言的时候,语法基础和实践能力都是非常重要的!在之前我认为%的取余是指:3%2=1.5,因此取余之后为5。但是在做题过程中,百思不得其解,为什么最后结果会不一样呢?%的真正含义:3%2=1....1,因此结果应该为1。
2025-01-01 15:23:58
287
原创 strlen 各种串,再printf,输出结果分析
其实这个更多的是看你的经验积累来判断,有时候你的认知层面没有那个字符组合,你就判断不对。搞清楚strlen的作用之后,让我们回到最开始的问题:printf("%d\n", strlen("\t\065\xff\\n"));例如:printf("%d",strlen("23");输出结果为2,这里是不包含\0的。尤其是这里的\\n包含:\\和\n 这里是最容易犯错的地方。strlen的作用:计算字符串的串长,当遇到'\0'时停止。欢迎各位提出建议和改进!
2024-12-22 18:14:06
641
原创 十进制、二进制、八进制、十六进制之间的转化,让你一篇豁然开朗
首先,你看十进制里边所包含的数字:0,1,2,3,4,5,6,7,8,9,告诉你一个”惊天的秘密“其实十进制里边没有10。八进制里边(0,1,2,3,4,5,6,7)没有8;十六进制(0~9H和A~F,A~F表示10~15)没有16.就像老婆饼里没有老婆,鱼香肉丝里没有鱼。对于十进制的认识是符合我们人的逻辑与思考的,毕竟我们的大脑已经习惯用十进制去思考问题,在使用其他进制时,得多加熟练和运用。然后,随便给你一个数,我们要怎么一眼就看出这个数是属于十进制、二进制、八进制还是十六进制呢。
2024-12-21 11:39:17
798
原创 真值、原码、反码、补码那些事
本篇不深入讲解原理,仅从解题速成的角度去了解这四个基本概念,并学会灵活应用。听名字,真值、真值就是真正的值,也就是我们在以往的数学学习中所遇到的属于实数集的数字。但是需要加以区别的一个点是,在计算机中,数字都是以二进制存储的,所以只有0、1.负数,要在原码的基础上,符号位不变为1,其他取反(1变0,0变1)根据真值写出原码,书写规则:正数则将+换成0,负数则将-换成1.eg. +123 -123 等等。正数三码(原码、反码、补码)相同。正数三码(原码、反码、补码)相同。负数,要在反码的基础上,加1.
2024-12-20 23:50:12
503
原创 初始化的细节
例如,字符串"3.14"包含了三个字符:'3'、'.'和'1'(以及隐含的字符串结束符'\0'),它们共同构成了浮点数3.14的文本表示。本人初学C语言,对于数据的输出和数组感觉还是有一些咻的模糊,翻了一下学校的C语言期末考题,都是从基础出发的,比较考察对知识的梳理和框架。原因:在字符串中看到一个数字字符,比如'5',它并不代表实际的浮点数5.0或整数5(尽管在我的读写习惯上,我可能会这样理解),而只是表示ASCII码值为53的字符。第一种就是不采用char型,直接用“二、输出一维浮点型数组中的一个值”。
2024-12-15 20:53:30
786
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅