自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 代码随想录day9

关键点1:移除空格很巧妙,用到快慢指针,快指针逐个遍历,用while循环当没有遇到s[i] = 空格时,把整个单词逐个通过快指针i传给慢指针slow所指向的地址。当i遇到空格时,循环退出说明遇到空格了,在s[slow++]位置添加空格。时,如果遇到空格或遍历到末尾,翻转该部分。条件之所以带上=s.size(),是需要遍历到数组末尾时翻转。关键点1:分段读入数据时。第一次,cin>>n;第二次,cin>>s;前n个翻转,顺序正确;剩下部分翻转,全部顺序正确。关键点2:反转字符串。151、反转字符串中的单词。

2024-08-08 23:53:51 211

原创 代码随想录day8

关键点2:从原数组的末尾往前遍历,若不是数字字符则放到现数组的末尾;若是数字字符,那么现数组赋值,逐个赋值为'r''e''b'等。关键点1:将左边和右边对称位置交换值即可。字符串string s也可以类似数组根据下标求值。关键点1:接收数据用while(cin >> s)。遍历数组,计算出0到9间的数字字符个数,注意是。,所以返回时用打印方式cout<<s<<endl;关键点1:与344相比,只要按照要求分情况即可。将原数组扩充为替换为number后的大小。字符串基础篇,比较简单。541、反转字符串2。

2024-08-08 21:44:38 105

原创 代码随想录day7

另外,数组中可能有重复的元素,所以加剪枝:if(i > 0 && nums[i] == nums[i-1]);之所以nums[i] == nums[i-1]而不是nums[i] == nums[i+1]右边界可能越界,continue;双指针法,遍历该数组元素,指针left从i+1开始向外遍历,指针right从nums.size()-1即右端开始向内遍历,终止条件为。关键点3:首先,若nums[i] > 0,则不用往下遍历了,因为数组排序过了,直接return result;

2024-08-08 21:10:05 322

原创 代码随想录训练营day5

可以把哈希函数当作“对暗号”,每个机构给一个暗号,当有人来问机构a来了没有,“天王盖地虎”对上了,直接返回机构a的位置。关键点2:遍历每个数,求差值,.find()检查map里是否有key值等于差值。关键点2:哈希表所用容器可以用.find(),.end(),.begin()方法,.find()返回的是迭代器。关键点1:返回是交集,不可重复,所以用unordered_set。关键点2:小写英文字母只有26个,是有限的,所以可以用数组。关键点1:之所以用map是因为需要两个数,val和下标。

2024-08-06 14:34:50 115

原创 代码随想录day4

关键点1:创建虚拟头节点,这里cur指向虚拟头节点,每次两两交换不会影响到头节点,受影响的是头节点后的两个节点A和B,需要安排好A的前指针和B的后指针(姑且这么叫,比较方便理解)关键点2:A的前指针和B的后指针需要提前保存以免更改next指针时找不到,cur代表一个节点的地址,cur->next改变就是节点指向的下一个节点的改变。关键点3:由于这样走slow指针走到倒数第n个节点,实际上我们删除节点是利用上一个节点,所以fast走完n步应该多走一步,slow就停在倒数n+1节点上。面试题2.7 链表相交。

2024-08-03 22:55:15 148

原创 代码随想录训练营day3

数组:适用于数据量固定,查询。数组在改动长度的时候需要重新定义一个新的数组。关键点1:成员变量是私有属性,虚拟头节点和链表大小size需要设置。关键点3:返回的是新的链表的头节点,也就是pre而不是cur。关键点1:这题比较简单,只需要记住虚拟头节点创建方式即可。关键点1:创建两个指针,分别指向当前和前一个结构体。关键点2:每次需要用临时指针保存下一个结构体地址。关键点2:临时节点temp需要free掉。我觉得这题比较巧妙,不知道为什么只是简单题。链表:适用于数据量不固定,增删。

2024-08-03 00:05:24 199

原创 代码随想录训练营day2

滑动窗口法其实是双指针法的一种,群里用“毛毛虫”的比喻很形象,在这里两个指针并不是一静止、一运动,而是同时运动。循环而不是for循环,因为毛毛虫往前吃掉的可能比较大,需要多“拉”几个数出来,至于几个不知道,所以用while;关键点1:明确原则,最好用左闭右开,因为左闭右闭时行遍历完,列只能遍历n-1个,对角是公共点;关键点2:创建一维数组,存储逐行相加值,[a,b]区间和是p[b]-p[a-1],a为0时除外。关键点1:暴力法其实相当于两个指针,一指针相对禁止时,另一指针遍历,时间复杂度大。

2024-08-01 23:34:37 243

原创 代码随想录训练营第一天| Leetcode数组理论基础|704二分查找

关键点:right = middle/middle-1 left = middle/middle+1。关键点2:while的判断条件中是否有=,当=时符合左闭右闭区间定义。关键点3:每次找到target时,数组长度减一,同时删除的位置被新元素取代,需要减一重新判断。关键点1:确定使用左闭右闭还是左闭右开原则,.size()应该减一以符合区间定义。关键点1:数组长度为nums.size(),外层循环边界i<nums.size()3、因为数组的内存空间连续,所以增添或删除元素时需要移动其他元素。

2024-07-31 22:13:45 293 1

原创 记录学习嵌入式开发知识

一般来说,所谓的驱动能力,指的是输出电流的能力。比如某GPIO口在高电平时的最大输出电流是10mA,这个10mA就代表了该IO口的驱动能力。如果负载过大(小电阻)情况下,负载电流超过最大输出电流,驱动能力不足,直接导致IO口输出电压下降,对于逻辑电平来说就是无法保持高电平,出现电平逻辑混乱。

2024-03-30 22:29:03 382 2

转载 汇编基础知识

段寄存器、指针寄存器、通用寄存器。

2023-11-21 15:47:04 222

转载 池化层的作用

池化层主要有两个作用。

2023-11-08 15:41:03 148 1

原创 记录刷题时的小知识

在for循环时创建的i,在for循环结束后也销毁。

2023-11-03 20:50:00 59

原创 深度学习中存储结果、保存训练日志

YOLOV5中的代码,定义一个increment_path类。

2023-10-17 20:46:38 672

原创 记录关注的博主原因

香草牛奶 -- 将yolov5模型精简化,还有多进程调用摄像头。

2023-10-17 15:35:32 38

原创 pytorch中的forward函数自动调用

在构建网络模型时,比如class A(nn.module),其中nn.module中包含了__call__函数,并且该函数已经定义了forward函数,由于模型A继承了mnn.module,所以模型A同样具有__call__函数功能。实质上说,这意味着 x() 与 x.__call__() 是相同的。将A实例化后(a = A('dgw', 25, )),此时直接调用实例a,即a()就是调用其__call__方法,这个函数使该对象A变成了一个可调用对象,可以调用,也可以通过__call__函数为它增加参数。

2023-10-17 13:28:07 1420

原创 Numpy常用API汇总

矩阵乘法a.dot(b),类型线代矩阵相乘,点积a.dot(a.T)也是同样算法。np.array(list),通过一个列表创建数据,可用dtype指定数据类型。返回结果有两组array结果,分别对应满足条件数据位置的行和列,一一对应的关系。四舍五入取整,np.round(a,b) a为np数组,b为保留的小数位数。np.concatenate,拼接。注意与torch.cat区别。筛选提取 np.where,返回各维度符合条件的index。向下取整 np.floor()向上取整 np.ceil()

2023-10-16 22:55:03 144

原创 深度学习基础,汇总参考链接

张量默认创建int64(长整型)类型,整数型的数组默认创建int32(整型)类型,即先用np创建数组,再转换为tensor格式,数据类型即为int32类型。2-迭代维度尺寸时,从尾部的维度开始,维度尺寸需满足:相等/至少其中一个数组的某一维度为1/其中一个数组不存在该维度。.squeeze()只能从数组的形状中删除单维度条目,即把shape中为1的维度去掉,多个维度1可以一次删除完。张量索引出来的结果还是零维张量,而不是单独的数,要转换为单独的数,需要使用item()方法。1-每个张量至少有一个维度。

2023-10-16 22:12:11 39

原创 python类、常用方法、属性详解

在子类中,一般会定义与父类相同的属性(数据属性,方法),从而来实现子类特有的行为。dir()函数:返回包含查询对象的所有属性和方法名称的列表。但是,有时候可能需要在子类中访问父类的一些属性,继承中的__init__

2023-10-16 11:29:27 87 1

原创 深度学习数据处理API记录

tensor图片的数据格式为CHW,正常图片格式为HWC,使用.transpose接口调换CHW顺序。处理多张图片,最关键的是.stack()函数。

2023-10-15 21:53:46 49

CHN6-CUG Road Dataset

删除低质量图片和标签

2023-11-26

马萨诸塞州(Massachusetts)数据集,删除低质量、空白图片后的数据集

数据集中image图片有的部分为空白,但label文件仍有道路标记,可能会影响训练。将这些图片以及label文件删除,整理出精简的马萨诸塞州(Massachusetts)数据集

2023-11-21

激光雷达与相机联合标定bag包

包含激光雷达与相机采集的数据,可用于联合标定。

2023-06-06

空空如也

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

TA关注的人

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