- 博客(31)
- 收藏
- 关注
原创 spark编程课后总结
在大数据集过滤后,通过减少分区数量,能降低任务调度开销。groupBy算子:函数签名 def groupBy[K](f: T => K)(implicit kt: ClassTag[K]): RDD[(K, Iterable[T])] ,按照指定规则对数据分组,会发生shuffle,即数据会打乱重新组合,一个分区中可能包含多个组的数据。glom算子:函数签名 def glom(): RDD[Array[T]] ,它将每个分区的数据转换为数组,方便对整个分区数据进行批量操作,分区数量和数据分布不变。
2025-04-10 10:16:14
301
原创 spark课后总结
Driver:是Spark驱动器节点,执行Spark任务中的main方法,负责实际代码执行。功能职责:用于向资源调度器申请执行任务的资源容器(Container) ,运行用户程序任务(job) ,监控任务执行、跟踪任务状态,处理任务失败等异常情况。阶段和任务划分:DAG记录RDD转换和任务阶段,Application、Job、Stage和Task构成层次关系,一个Action算子生成一个Job,Stage数由宽依赖个数加1决定,Task个数取决于Stage中最后一个RDD的分区数。
2025-04-09 16:36:39
476
原创 Scala课后总结(8)
用 foldLeft 方法将 map2 合并到 map1 ,遍历 map2 ,若 map1 有相同键则值相加,没有则添加键值对到 map1 ,最终得到合并后的 map3。把嵌套集合(集合里元素还是集合)展开成单一层次集合。如 List(List(1, 2), List(3, 4)) 经 flatten 后变为 List(1, 2, 3, 4)。比如从整数集合里选出偶数, list.filter(x => x % 2 == 0) ,就是筛选出能被2整除的元素。
2025-04-08 09:12:47
470
原创 scala课后总结(7)
操作:涵盖创建、遍历、增加数据、集合间合并(扁平化)、空集合( Nil )等操作。可创建可变集合,支持打印集合、添加元素(两种方式,一种就地添加,一种返回新集合 )、删除数据等操作。并集:将两个集合的元素合并,去重(若集合元素无重复特性要求,可能有重复元素 )。数据具有顺序且可重复。可创建可变 Map 集合,支持打印集合、增加数据、删除数据、修改数据等操作。涉及获取集合长度、大小,循环遍历,使用迭代器,生成字符串,判断是否包含等操作。集合初始数据:不包含最后一个元素的集合。
2025-04-07 19:14:47
502
原创 scala课后总结(6)
MyBall 类扩展 Category 特质并混入 Color 特质,重写 describe 方法,通过 super.describe() 依次调用叠加的特质方法,最终按顺序组合方法返回值。Color 特质扩展 Ball 特质,重写 describe 方法,在原方法返回值前加上 "blue-" ,通过 super.describe() 调用父特质的 describe 方法。无关联特质冲突:当一个类(Sub)混入两个没有关联的特质(TraitA、TraitB ),且它们有相同的具体方法时,会产生冲突。
2025-04-03 09:56:33
889
原创 scala课后总结(5)
例如 package com { object Outer { val out: String = "out" def main(args: Array[String]): Unit = { println(name) } } package object com { val name: String = "com" } } , Outer 对象里能直接访问包对象 com 中定义的 name。包对象里定义的成员,是对应包下所有类(class)和单例对象(object)可共享的变量,能被直接访问。
2025-04-02 16:43:53
1101
原创 scala课后总结(4)
定义 reduce 函数: def reduce(arr: Array[Int], op: (Int, Int) => Int) = { var init: Int = arr(0) for (elem <- 1 until arr.length) { init = op(init, elem) } init } ,接收整数数组 arr 和一个二元操作函数 op ,从数组第二个元素起,依次用 op 对元素聚合操作。匿名函数是没有名字的函数,格式为 (x:Int) => {函数体}。
2025-04-01 09:45:24
686
原创 scala课后总结(3)
对于外层循环的每一个 i 值,内层循环变量 j 从1到 i ,计算并打印 j 和 i 的乘法表达式及结果 ,内层循环结束后换行,最终完整输出九九乘法表。若外层循环执行 m 次,内层循环执行 n 次,那么内层循环体总共执行 m * n 次。概念:也叫循环保护式、条件判断式。do..While 循环(文档未详述,但和Java中用法类似 ):先执行一次循环体,再判断条件,条件为 true 继续执行循环体。概念:在 for 循环中, by 关键字用于指定循环变量的步长,即每次迭代时循环变量的增量。
2025-03-31 16:44:45
631
原创 Scala课后总结(2)
Scala的条件表达式支持混合类型表达式,如 val z = if (x > 1) 1 else "error" ,当 x > 1 时 z 为 1 (整数类型),否则为 "error" (字符串类型),此时 z 的类型被推断为 Any ,它是 Int 和 String 的父类。在Scala中每个表达式都有值,像 val n = if (x > 2) 1 else () , n 的类型为 AnyVal ,值根据条件判断可能是 1 或 ()。
2025-03-28 10:14:09
465
原创 scala课后总结(1)
Scala 是 “Scalable Language” 的缩写 ,是一门多范式(multi - paradigm)编程语言它不像一些语言只专注于一种编程风格(如单纯的面向对象或函数式),而是融合了面向对象编程和函数式编程的特性,能让开发者根据需求灵活选择合适的编程方式。scala特性Scala 是一种高度表达性的编程语言,它结合了面向对象编程和函数式编程的最佳特性。运行基础:Scala 运行在 Java 虚拟机(JVM)上。
2025-03-27 10:35:16
616
原创 图像识别技术与应用课后总结(21)
特征图生成:各层通过卷积统一得到64个特征图 ,最后将这些特征组合(5组64个特征图,共320个 )得到全部特征,用于后续的语义分割任务。特征整合方式:利用不同尺度的最大池化(max pool)整合低阶特征(如X1和X2 ,可包含轮廓等信息 ),上采样操作整合高阶特征(具有大感受野,全局信息 )。整体网络结构:强调特征融合,拼接更全面,思路和densenet一致,尽可能利用所有能拼接的特征,是U - net的升级版。- 原因:由于前面有单独的监督训练,使得U - net++ 更容易进行剪枝操作。
2025-03-21 09:01:09
251
原创 图像识别技术与应用课后总结(20)
Pixel Accuracy(PA,逐像素分类精度):衡量语义分割模型预测的准确程度,计算方式是将所有正确分类的像素数(分子 )除以总像素数(分母 ),公式中 p_{ii} 表示被正确分类到第 i 类的像素数,反映模型对像素分类的整体准确情况。类别:涵盖30个类别 ,包括道路(road)、人行道(sidewalk )、车辆(car、truck等 )、行人(person )、建筑(building )、自然景物(vegetation )、天空(sky )等,细致划分城市街景元素。
2025-03-20 09:34:48
416
原创 图像识别技术与应用课后总结(19)
在YOLOv4中的实现:YOLOv4中对PAN进行了修改,不是采用简单的加法来融合特征,而是使用拼接(concatenation)的方式,这样可以保留更多的特征信息,有助于提升目标检测的性能。PAN的改进思路:针对FPN的不足,PAN引入了自底向上的信息传递路径,使得底层的位置细节信息更容易传递到顶部,实现了双向的特征融合,增强了不同层次特征之间的交互。特点:相较于传统NMS直接剔除框的做法,SOFT - NMS更加“柔和”,它通过更改检测框的分数,而不是直接删除,来优化检测结果。
2025-03-14 10:16:45
698
原创 图像识别技术与应用课后总结(18)
因此,YOLO-V3使用logistic激活函数替代softmax层,它能够对每个类别分别进行“是/不是”的预测,通过交叉熵损失(Cross Entropy)来衡量预测值(\hat{y})与真实值(y)之间的差异,优化模型的检测效果。不同尺度的特征图对应不同尺寸的先验框。经过YOLOv3网络后,输出3个不同尺度(Scale 1、Scale 2、Scale 3 )的3D张量(Predicted 3D tensor),每个张量包含3个边界框(Box1、Box2、Box3),以此来检测不同大小的目标物体。
2025-03-13 09:53:09
637
原创 图像识别技术与应用课后总结(17)
原有问题:在早期的边界框(bbox)位置预测中,根据公式x = x_p + w_p * t_x,y = y_p + h_p * t_y (其中(x_p,y_p)为先验框中心,(w_p,h_p)为其宽高),如果t_x或t_y取值较大,会导致边界框大幅移动,在训练初期可能引发收敛问题,使模型不稳定。包含位置误差(预测框位置与真实框位置差距)、置信度误差(分为含目标和不含目标的置信度误差,衡量预测框含目标的置信度准确性)、分类误差(预测类别与真实类别的误差) ,通过不同权重(λ)调整各项误差对总损失影响。
2025-03-12 16:44:58
1144
原创 图像识别技术与应用课后总结(16)
目标检测识别图片中有哪些物体并且找到物体的存在位置属于多任务操作,既要判断出图片中物体的类别,比如人、自行车等,还要通过边界框找到物体在图像中的具体位置。实际应用中会遇到多种问题,像目标种类与数量繁多,这要求算法能准确区分和检测大量不同物体;目标尺度不均,即物体在图像中的大小不一,可能有远距离的小物体,也有近距离的大物体;还有外部环境干扰,例如物体被遮挡或者图像存在噪声,这些都会影响检测的准确性 。目标检测的数据集VOC数据集:来自PASCAL VOC挑战赛,是计算机视觉领域的重要数据集。它分为4大类、20
2025-03-11 10:26:24
798
原创 图像识别技术与应用课后总结(15)
设置训练的超参数,如学习率、训练轮数、批量大小等。在训练过程中,包括梯度清零、正向传播、计算损失、反向传播和参数更新等步骤,并动态调整学习率,记录训练和测试的损失值与准确率。:设置超参数如批量大小( BATCHSIZE )、学习率( LR )、训练轮数( EPOCHES )等,定义交叉熵损失函数和随机梯度下降(SGD)优化器,通过多轮迭代训练模型,并在训练过程中记录和打印损失值。:采用类似投票机制的模型集成方法,将多个模型组合,在训练和测试时对多个模型的结果进行综合处理,以提高整体预测的准确性。
2025-03-10 16:48:51
278
原创 图像识别技术与应用课后总结(14)
文中提到后续会举例说明如何构建和训练模型,还解释了 model.train() 与 model.eval() 的使用场景,尤其是在包含Batch Normalization(BN)层和Dropout的模型中,训练和测试时分别调用这两个方法能让模型以合适的方式运行。数据处理:通过 torchvision 对下载的数据进行预处理,如归一化、转换为张量等操作,并使用 torch.utils 建立数据迭代器,便于按批次读取数据。模型构建:运用 nn 工具箱搭建神经网络模型,此模型包含输入层、两个隐藏层和输出层。
2025-03-06 10:22:39
749
原创 图像识别技术与应用课后总结(13)
这些个体学习器的输出会进入结合模块,最终产生整体的输出结果。(c)集成起负作用:每个测试例中个体学习器的预测结果分散,集成结果都是错误的,而单个学习器在部分测试例上可能有正确预测,这种情况下集成反而产生了负面效果。(a)集成提升性能:在三个测试例中,每个测试例都有至少两个个体学习器预测正确,通过投票法得到的集成结果都是正确的,说明这种情况下集成学习提升了整体性能。(b)集成不起作用:测试例3中,个体学习器的预测结果各不一致,集成结果为错误,整体集成效果没有比单个学习器更好,说明此时集成没有起到提升作用。
2025-03-05 16:43:29
457
原创 图像识别技术与应用课后总结(12)
self.fc3 = nn.Linear(36, 10) :定义全连接层,输入维度为36(上一层输出通道数),输出维度为10(对应分类任务的类别数,比如CIFAR - 10数据集有10个类别)。- self.conv1 = nn.Conv2d(3, 16, 5) :定义第一个卷积层,输入通道数为3(通常对应RGB图像),输出通道数为16,卷积核大小为5x5。- x = self.pool2(F.relu(self.conv2(x))) :经过第二个卷积层、ReLU激活和第二个最大池化层。
2025-03-04 11:14:07
594
原创 图像识别技术与应用课后总结(11)
图6-27显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。FC4:以FC3的输出作为输入,输出10个神经元,对应CIFAR - 10数据集中的10个类别,最后通过Softmax函数(图中提及“10(不用激活函数)”有误,通常此处需要Softmax来计算类别概率)得到每个类别的预测概率。CONV1:使用16个滤波器(filters),滤波器大小(kernel_size)为5×5,步长(stride)为1,对输入图像进行卷积操作,输出特征图大小变为28×28,通道数变为16。
2025-03-03 17:18:17
309
原创 图像识别技术与应用课后总结(10)
图像分类将不同的图像,划分到不同的类别标签,实现最小的分类误差。图像分类的三层境界通用的多类别图像分类:将图像分为不同的大类,如飞机、汽车、鸟、猫等。这种分类相对宽泛,关注图像所属的主要类别。子类细粒度图像分类:在大类的基础上进一步细分,例如区分不同种类的猫或鸟。这需要识别图像中更细微的特征差异。实例级图片分类:识别图像中的具体实例,如特定的一只猫或某一个人。图像分类评估指标之混淆矩阵TP(True positive,真正例)——将正类预测为正类数。FP(False postive,假正例)——将反类预测为
2025-02-28 10:02:28
661
原创 图像识别技术与应用课后总结(9)
1)导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。接着遍历神经网络的各层,针对包含“conv”的层(卷积层),提取其特征图,利用make_grid函数将特征图整理成网格形式,并通过add_image方法将特征图写入日志,以便在TensorBoard中可视化。2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)其中,xxx指的是各种可视化方法。
2025-02-27 09:53:43
1162
原创 图像识别技术与应用课后总结(8)
还展示了转换后获取数据和标签的代码,以及数据在不同目录下时可能存在不便的情况。它可以对数据进行批量处理,其语法结构包含多个参数,如 dataset (数据集对象)、 batch_size (批量大小)、 shuffle (是否打乱数据)等,这些参数可以灵活配置数据加载的方式。:再次展示了 DataLoader 的参数列表,包括 dataset (要加载的数据集)、 batch_size (批大小)、 shuffle (是否打乱数据)等多个参数,这些参数共同决定了数据加载的方式。
2025-02-26 16:52:42
592
原创 图像识别技术与应用课后总结(7)
代码中导入了 torch 、 nn 以及 OrderedDict ,通过 OrderedDict 来定义模型的各层,包括 Flatten 层、 Linear 层、 BatchNorm1d 层、 ReLU 激活函数层和 Softmax 层。定义了 ResNet18 类,在 __init__ 方法中初始化网络的各层,包括初始的卷积层、最大池化层,以及由不同残差块组成的四个Sequential模块,还有自适应平均池化层和全连接层。forward 方法描述了数据在网络中的前向传播过程,依次经过各层处理后输出结果。
2025-02-25 11:23:36
747
原创 图像识别技术与应用课后总结(6)
dropout操作在训练和测试阶段是有区别的,使用nn.Xxx方式定义dropout,在调用model.eval()之后dropout操作在训练和测试阶段是有区别的,使用nn.Xxx方式定义dropout,在调用model.eval()之后,自动实现状态的转换,而使用nn.functional.xxx却无此功能。nn.functional:包含了一系列的函数,写法一般为 nn.functional.xxx 如 nn.functional.linear 、 nn.functional.conv2d 等。
2025-02-24 16:19:30
693
原创 图像识别技术与应用课后总结(5)
通过堆叠多个小卷积核(3×3)的卷积层,VGG网络在保证感受野的同时,减少了参数数量,并且能够学习到更复杂的特征表示,在图像分类等任务中表现出色。输入图像尺寸为224×224×3,随着网络的推进,特征图尺寸逐渐减小(如56×56×256、28×28×512等 ),通道数逐渐增加,最后通过全连接层和Softmax进行分类,输出1000类结果。AlexNet新增了3层卷积层,且每层输出通道数更多,如3x3 Conv (384)等,而LeNet相应卷积层输出通道数较少,如5x5 Conv (16)。
2025-02-21 09:44:51
814
原创 图像识别技术与应用课后总结(4)
边缘检测:使用特定卷积核(如 [[-1,-1,-1],[-1,8,-1],[-1,-1,-1]] ),可以突出图像中物体的边缘信息。高斯模糊:利用高斯卷积核(如 1/16×[[1,2,1],[2,4,2],[1,2,1]] )对图像进行平滑处理,减少噪声。锐化:相应卷积核(如 [[0,-1,0],[-1,5,-1],[0,-1,0]] )能增强图像的细节,使图像看起来更清晰。核:即卷积核,是可学习的参数矩阵,决定了对输入图像特征提取的方式。每个通道都有一个卷积核,结果是所有通道卷积结果的和。
2025-02-20 10:14:10
918
原创 图像识别技术与应用课后总结(3)
感知机作为神经网络的起点,虽功能有限,但为理解复杂模型奠定了基础。结合图像识别技术,需掌握从数据预处理到模型优化的全流程,并关注实际场景中的技术落地挑战(如计算资源、实时性要求)。
2025-02-19 17:06:40
1018
原创 图像识别技术与应用课后总结(2)
深度学习在图像识别领域的成功案例涵盖了从基础研究到实际应用的方方面面,推动了人脸识别、自动驾驶、医疗影像分析等领域的快速发展。未来,随着多模态学习、自监督学习和边缘计算等技术的进步,图像识别技术将进一步拓展其应用边界。
2025-02-18 11:39:17
419
原创 图像识别技术与应用课后总结
图像识别技术是人工智能领域的重要分支,随着深度学习的快速发展,其应用场景不断扩展。掌握图像处理、机器学习、深度学习等基础知识,是深入理解和应用图像识别技术的关键。未来,随着技术的进步,图像识别将在更多领域发挥重要作用。
2025-02-17 17:35:33
936
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人