- 博客(27)
- 收藏
- 关注
原创 Scala基础知识
3.Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象, 而不会对原对象进行修改。类似于 java 中的 String 对象。4.可变集合,就是这个集合可以直接对原对象进行修改,而不会返回新的对象。不可变集合与可变集合的继承关系,以及数组的定义、定义方法、赋值、遍历和增加元素的操作。抽象属性:未初始化的属性即为抽象属性,使用 val 或 var 定义。集合的分类,包括序列、集和映射,并强调了它们的可变与不可变版本的区别。操作细节:包括属性的定义、方法的实现、重写关键字的使用等。
2025-04-03 11:37:38
468
原创 Scala基础知识
在 Java 中,访问权限分为:public,private,protected 和默认。包对象的概念,即为每一个包定义一个同名的包对象,包对象中的成员可以被包下的所有类和对象直接访问。protected 为受保护权限,Scala 中受保护权限比 Java 中更严格,同类、子类可以访问,同包无法访问。1.和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。强调了辅助构造器的命名规则是this,并且可以通过参数的个数和类型来区分不同的辅助构造器。
2025-04-02 17:26:36
832
原创 Scala基础知识
可变参数的概念,即在函数定义时使用星号(*)表示该参数可以接受一个或多个值,甚至可以不传入值。惰性加载的概念,即将函数的返回值声明为 lazy,函数的执行会被推迟到取值时。函数没有重载或重写的概念,而方法可以根据形参列表的不同进行重载或重写。柯里化的概念,即将多个参数列表变成多个参数列表,以简化复杂参数的情况。闭包的概念,即函数访问到其外部或局部变量时,该函数及其环境称为闭包。可变参数的概念,即在参数类型后面加一个星号表示该参数是可变的。函数为中心:将计算视为数学函数的求值,强调纯函数。
2025-04-01 11:37:13
594
原创 Scala基础知识
(2) for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下。循环守卫的概念,通过足球守门员的比喻,说明了循环守卫的作用是控制循环的执行。(1) 循环守卫,即循环保护式(也称条件判断式,守卫)。在for循环中设置步长,默认步长为1,可以通过指定步长来改变循环的取值间隔。例如,设置步长为2时,循环变量会每次增加2。说明:将遍历过程中处理的结果返回到一个新 Vector 集合中,使用 yield 关键字。
2025-03-31 17:47:58
463
原创 Scala基础知识
如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List,以此类推。for循环:详细讲解了for循环的基本语法和应用,包括从1到10的循环示例,强调了Scholar语言中for循环的简洁性。方法调用:Scholar语言中没有运算符,所有的操作都是通过方法调用来实现的,并通过示例展示了如何定义和调用加法方法。to和until的区别:解释了to表示闭区间,until表示左闭右开区间,并通过示例展示了它们在循环中的应用。索引的使用:强调了索引从0开始,遍历数组时需要注意索引的范围。
2025-03-28 11:13:06
412
原创 Scala基本知识
定义包可用“package”关键字,有在文件头定义和类似 city 的方式两种,推荐后者可在文件夹中定义多个包。引用包用“import”关键字,可出现在任何地方,效果延伸至语句块结束,能减少名称冲突可能,但要尽量避免变量名与包名、类名相同以保证唯一性。语句可用空格或注释分割,换行符和分号都可结束语句,分行写多个语句时需分号分隔,一行一个语句可不加分号。多行注释可嵌套且必须正确嵌套,以“/”开始,“/”结束;单行注释为“//”。定义变量名称时要避开,如 if、do、case 等,否则会产生歧义。
2025-03-27 09:31:21
318
原创 图像识别技术与应用学习总结
语义分割是计算机视觉中针对图像像素进行分类的任务,其目标是为图像中的每个像素分配一个类别标签。特征融合方式:编码器每一层的特征会通过多个卷积层逐步与所有更深层的解码器特征融合。跳跃连接:将编码器各层的特征图直接拼接到解码器对应层,保留细节信息。输出:H ×W的类别矩阵,每个元素对应C个预定义类别之一。编码器:通过卷积和池化逐步提取高层语义特征。解码器:通过上采样和卷积恢复空间分辨率。1. 自动驾驶:道路、行人、车辆识别。2. 医学影像:肿瘤、区域器官、分割。输入:H× W× 3的RGB图像。
2025-03-21 09:50:15
263
原创 图像识别技术与应用学习总结
5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。将不同的像素划分到不同的类别,非常细粒度的分类。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。一共2913张图,1464张训练图片,1449张验证图片。:以场景理解为目标,特别选取比较复杂的日常场景。每个类的IoU平均值。
2025-03-20 10:59:20
602
原创 图像识别技术与应用学习总结
比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?M 此时就需要非常大的数值才可以达到边界。Random Erase: 用随机值或训练集的平均像素值替换图像的区域。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。之前的dropout是随机选择点(b) , 现在吃掉一个区域。神经网络最大的缺点: 自觉不错(过拟合) , 让它别太自信。使用之后效果分析(下图) :簇内更紧密 , 簇间更分离。
2025-03-14 11:05:50
288
原创 图像识别技术与应用学习总结
13*13特征图上:(116x90),(156x198),(373x326) 26*26特征图上:(30x61),(62x45),(59x119) 52*52特征图上:(10x13),(16x30),(33x23)左图:对不同的特征图分别利用;右图:不同的特征图融合后进行预测;为了能检测到不同大小的物体,设计了3个scale。YOLO-V2中选了5个,这回更多了,一共有9种。YOLO-V2中选了5个,这回更多了,一共有9种。物体检测任务中可能一个物体有多个标签。下采样通过stride为2实现。
2025-03-13 09:36:21
272
原创 图像识别技术与应用学习总结
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?都是卷积操作可没人能限制了!faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合。最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。
2025-03-12 16:59:36
639
原创 图像识别技术与应用学习总结
Ground Truth指的是图像或视频等数据中目标的真实位置、类别等信息,是目标检测算法的参考标准和学习依据,相当于给算法提供的“标准答案”。COCO(JSON)格式:(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。YOLO(TXT)格式:(x,y,w,h)分别代表中心点坐标和宽、高x,y,w,h均为归一化结果。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。feature map的点来决定位置。
2025-03-11 11:23:52
610
原创 图像识别技术与应用学习总结
以二分类为例,混淆矩阵分为真正例(True Positive,TP)、假正例(False Positive,FP)、真反例(True Negative,TN)、假反例(False Negative,FN)四个部分。实例级图片分类不仅要将图像中的物体划分到特定类别,还要对同一类别的不同个体实例进行区分和识别,为每个具体的实例赋予唯一的标识或编号,实现对每个实例的精准分类。通用的多类别图像分类是计算机视觉领域的一项基础且重要的任务,旨在将给定的图像准确地划分到多个预定义的类别中。
2025-03-10 17:45:52
364
原创 图像识别技术与应用学习总结
如果模型中有BN(Batch Normalization使用的层)和Dropout,需要在训练时添加model.train(),在测试时添加model.eval()。而对于Dropout,model.train()是随机取一部分网络连接来训练更新参数,而model.eval()是利用到了所有网络连接。定义损失函数可以通过自定义方法或使用PyTorch内置的损失函数,如回归使用的loss_fun=nn.MSELoss(),分类使用的nn.BCELoss等损失函数,更多内容可参考本书5.2.4节。
2025-03-06 10:59:01
614
原创 图像识别技术与应用学习总结
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?即“少数服从多数”。
2025-03-05 17:02:38
363
原创 图像识别技术与应用学习总结
outputs = net(images) :将图像数据输入到已定义好的模型 net 中,得到模型的输出结果 outputs ,输出一般是各个类别的得分。dataiter = iter(testloader) :创建一个测试数据的迭代器。计算准确率 准确率是百分之六十六。一个linear全连接层。
2025-03-04 11:33:34
356
原创 图像识别技术与应用学习总结
数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。图6-27显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。以下是使用PyTorch实现CIFAR-10多分类任务的示例代码,CIFAR-10数据集包含10个不同类别的图像,如飞机、汽车、鸟类等。
2025-03-03 17:59:48
139
原创 图像识别技术与应用学习总结
实例级图片分类不仅要将图像中的物体划分到特定类别,还要对同一类别的不同个体实例进行区分和识别,为每个具体的实例赋予唯一的标识或编号,实现对每个实例的精准分类。通用的多类别图像分类是计算机视觉领域的一项基础且重要的任务,旨在将给定的图像准确地划分到多个预定义的类别中。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。正类中实际负实例占所有负实例的比例。
2025-02-28 11:30:32
540
原创 pythorch数据处理
tensorboard --logdir=logs --port 6006 #如果是windows环境,要注意路径解析,如#tensorboard --logdir=r'D:\myboard\test\logs' --port 6006。2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)其中,xxx指的是各种可视化方法。对PIL Image的常见操作如下。
2025-02-27 18:55:07
337
原创 Pytorch数据处理
torchvision是一个开源Python库,是PyTorch生态系统的一部分,专门用于处理计算机视觉任务。DataLoader并不是迭代器,可以通过“iter”命令转换成迭代器。2.DataLoader:可以批量处理。2.DataLoader:可以批量处理。相关参数介绍如下所示。·_getitem_一次只能获取一个样本。数据处在不同目录之下时会不方便!DataLoader:可以批量处理。
2025-02-26 17:03:50
349
原创 Pytorch神经网络
残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。组合这两个模块得到现代经典RetNet18网络结构。继承nn.Module基类并应用模型容器构建模型。1.使用nn.Sequential模型容器。2.使用nn.ModuleList模型容器。3.使用nn.ModuleDict模型容器。
2025-02-25 12:32:15
153
原创 Pytorch神经网络
nn.Module写法一般为nn.Xxx,如nn.Linear、nn.Conv2d、nn.CrossEntropyLoss等。nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。继承nn.Module基类构建模型,又使用相关模型容器(nn.Sequential,nn.ModuleList,nn.ModuleDict等)进行封装。
2025-02-24 16:39:46
226
原创 卷积网络中的架构
从视网膜接收到光线刺激开始,视觉信息会逐步经过多个不同层次的神经处理阶段,每个阶段都对信息进行不同程度的加工和处理,从简单的特征提取逐渐过渡到对复杂物体和场景的理解与识别。通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。优点:对图像的特征提取较为充分,能够学习到丰富的图像信息,在图像识别任务中具有较高的准确率和较好的泛化能力。不同次数的重复VGG块,可获得不同的架构,例如VGG-16,VGG-19,......
2025-02-21 10:03:07
540
原创 卷积神经网络基础知识
从视网膜接收到光线刺激开始,视觉信息会逐步经过多个不同层次的神经处理阶段,每个阶段都对信息进行不同程度的加工和处理,从简单的特征提取逐渐过渡到对复杂物体和场景的理解与识别。通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。定义:图像卷积是将一个卷积核(也叫滤波器)在图像上滑动,对每个位置进行特定的数学运算,从而生成新图像的过程。填充:在输入数据的边缘添加额外的行和列,通常为0,以保持输出特征图的尺寸或改变其大小。
2025-02-20 11:02:25
439
原创 图像识别技术与应用
刚才登场的h(x)函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。前向传播(正向传播)输入样本--输入层--各隐藏层--输出层反向传播(误差反传)输出层——各隐藏层——输入层计算神经网络参数梯度的方法修正各层单元的权值。二分类 (0 或 1) Vs. 回归:输出实数Vs. Softmax:输出的概率,多个分类。阶跃函数以0为界,一旦输入超过0,就切换输出1,否则输出0。
2025-02-19 17:35:31
449
原创 机器学习与深度学习
严格的讲,梯度指示的反向是各点处的函数值减小最多的方向。廉价又高质量的传感器、廉价的数据存储以及廉价计算的普及,特别是GPU的普及,使大规模的算力唾手可得。无监督学习是一种机器学习方式,与监督学习不同,它使用的训练数据没有给定的标签或目标值,算法会自动在数据中发现模式、结构或规律,常见任务包括聚类、降维和密度估计等。深度学习是一类基于人工神经网络的机器学习技术,通过构建具有多个层次的神经网络模型,让计算机自动从大量数据中学习特征和模式,以实现对数据的分类、预测、生成等任务。手写字数识别:多项分类。
2025-02-18 11:51:05
729
原创 图像识别技术与应用基础知识
设计一个灵活的程序算法,其输出由许多参数决定,然后使用数据集来确定当下的“最佳参数集”,这些参数通过某种性能度量方式来达到完成任务的最佳性能。训练数据量过少,模型没有足够的数据来学习到真实的规律,只能过度依赖训练数据中的特殊情况。更多的数据可以被用来训练出更强大的模型,从而减少对预先设想假设的依赖。过拟合(模型过于复杂):过拟合指的是训练数据上表现得非常好,但在未见心的测试数据上表现不佳,它对训练数据过度拟合。欠拟合(模型过于简单):欠拟合指的是模型无法捕捉到训练数据中的真实关系,它对数据的拟合程度不足。
2025-02-17 18:00:38
621
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人