- 博客(33)
- 收藏
- 关注
原创 Spark-core编程
Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。在 Driver 程序中定义的变量,在。比如,如果你的应用需要向所有节点发送一个较大的只读查询表,广播变量用起来都很顺手。在多个并行操作中使用同一个变量,但是 Spark 会为每个任务。行动算子就是会触发action的算子,触发action的含义就是真正的计算数据。广播变量用来高效分发较大的对象。向所有工作节点发送一个较大的只读值,以供一个。
2025-04-11 10:04:16
262
原创 Spark-Core编程
无论是将分区数多的RDD 转换为分区数少的 RDD,还是将分区数少的 RDD 转换为分区数多的 RDD,repartition操作都可以完成,因为无论如何都会经 shuffle 过程。将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处理,哪怕是过滤数据。当数据进行筛选过滤后,分区不变,但是分区内的数据可能不均衡,生产环境下,可能会出。
2025-04-10 10:27:41
741
原创 Spark Core
Spark 集群的独立部署环境中,不需要依赖其他的资源调度框架,自身就实现了资源调度的功能,所以环境中还有其他两个核心组件:Master 和 Worker,这里的 Master 是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责,类似于 Yarn 环境中的 RM, 而Worker 呢,也是进程,一个 Worker 运行在集群中的一台服务器上,由 Master 分配资源对数据进行并行的处理和计算,类似于 Yarn 环境中 NM。在提交应用中,可以提供参数指定计算节点的个数,以及对应的资源。
2025-04-09 17:30:06
821
原创 Spark原理及代码
3、Master & Worker:Spark 集群的独立部署环境中,不需要依赖其他的资源调度框架,自身就实现了资源调度的功能,所以环境中还有其他两个核心组件:Master 和 Worker,这里的 Master 是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责,类似于 Yarn 环境中的 RM, 而Worker 呢,也是进程,一个 Worker 运行在集群中的一台服务器上,由 Master 分配资源对数据进行并行的处理和计算,类似于 Yarn 环境中 NM。Hash 分区为当前的默认分区。
2025-04-09 17:13:37
607
原创 集合计算高级函数
Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。将集合中的每一个元素映射到某一个函数。Fold 折叠:化简的一种特殊情况。按照指定的规则对集合的元素进行分组。
2025-04-08 15:43:44
212
原创 spark安装
启动成功后,可以输入网址进行Web UI监控页面进行访问。(默认端口为4040)在解压缩文件夹下的 data 目录中,添加 word.txt 文件。在命令行工具中执行如下代码指令。
2025-04-08 15:41:11
180
原创 大数据技术之scala
/(2)创建一个 List(数据有顺序,可重复) val list: List[Int] = List(1,2,3,4,3)// 使用 get 访问 map 集合的数据,会返回特殊类型 Option(选项):有值(Some),无值(None)//(5)集合间合并:将一个整体拆成一个一个的个体,称为扁平化val list3 = List(8,9)//(1)创建了一个二维数组, 有三个元素,每个元素是,含有 4 个元素一维数组()//(1)声明元组的方式:(元素 1,元素 2,元素 3)
2025-04-07 16:20:02
810
原创 抽象属性和抽象方法
第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了。由于一个类可以混入(mixin)多个 trait,且 trait 中可以有具体的属性和方法,若混入的特质中具有相同的方法(方法名,参数列表,返回值均相同),必然会出现继承冲突问题。,也就是说,多个类具有相同的特质(特征)时,就可以将这个特质(特征)独立出来,采用关键字 trait 声明。
2025-04-03 17:26:53
660
原创 Scala编程代码
在 Java 中,访问权限分为:public,private,protected 和默认。多个类:import java.util.{HashSet, ArrayList} 屏蔽类:import java.util.{ArrayList =>_,_}封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。注意:Scala 中没有 public,一个.scala 中可以写多个类。
2025-04-02 17:29:42
814
原创 函数编程代码
x:表示输入参数类型;Int:表示输入参数类型;函数体:表示具体代码逻辑。为完成某一功能的程序语句的集合,称为函数。没有名字的函数就是匿名函数。自定义一个 While 循环。函数可以作为函数返回值返回。函数可以作为参数进行传递。函数可以作为值进行传递。
2025-04-01 10:40:21
346
原创 数据范围内代码
/百钱买百鸡 公鸡价格5块一只 母鸡价格3块一只 一块钱3只小鸡一共有100块钱需要买100只鸡问 一共有几种买法 分别列举出来。println("公鸡有" + i + "只,母鸡有" + j + "只,小鸡有" + k + "只")(3).输出 1 到 5 中,不等于 3 的值。(2).输出 5 句 "scala "while (循环条件) {循环体(语句) 循环变量迭代。循环体(语句) 循环变量迭代。} while(循环条件)( 2 ).案例实操。
2025-03-31 17:52:18
220
原创 Scala
一行中只有空格或者带有注释,Scala 会认为其是空行,会忽略它。Scala 使用 package 关键字定义包,在Scala将代码定义到某个包中有两种方式。第一种方法和 Java 一样,在文件的头定义包名,这种方法就后续所有代码都放在该包中。Scala 的命名规则采用和 Java 类似的 camel 命名规则,首字符小写。Scala是面向行的语言,语句可以用分号(;Scala 可以使用两种形式的标志符,字符数字和符号。静态类型,泛型类,协变和逆变,标注,高阶函数,不可变性,模式匹配,闭包。
2025-03-27 10:50:01
232
原创 图像识别技术与应用
5*64 =320 , 最终组合得到全部特征。现在来看 , 很多视觉任务都可以套用这招。M 训练的时候同样会用到L4 ,效果还不错。M 以前我们都是加法 , 现在全都要。把能拼能凑的特征全用上就是升级版了。不同的max pool整合低阶特征。这么简单的结构就能把分割任务做好。起初是做医学方向 , 现在也是。其实跟densenet思想一致。损失由多个位置计算 , 再更新。(X1和X2 , 轮廓之类的)也是很常见的事 , 多输出。简单但是很实用 ,应用广。(感受野大的 , 全局的)还引入了特征拼接操作。
2025-03-21 11:18:48
391
原创 图像识别技术与应用
并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。数据增强: 调整亮度、 对比度、 色调、 随机缩放、 剪切、 翻转、 旋转。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。网络细节部分加入了很多改进 , 引入了各种能让特征提取更好的方法。注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。
2025-03-14 10:43:10
846
原创 图像识别技术与应用
(5).从今天的角度来看,基本所有网络架构都用上了残差连接的方法。终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。V3中也用了resnet的思想,堆叠更多的层来进行特征提取。V3中也用了resnet的思想,堆叠更多的层来进行特征提取。从今天的角度来看,基本所有网络架构都用上了残差连接的方法。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。为了能检测到不同大小的物体,设计了3个scale。下采样通过stride为2实现。
2025-03-13 11:31:03
269
原创 图像识别技术与应用
faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合数据集。通过引入anchor boxes,使得预测的box数量更多(13*13*n)经过Batch Normalization处理后的网络会提升2%的mAP。可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候。V1训练时用的是224*224,测试时使用448*448。网络的每一层的输入都做了归一化,收敛相对更容易。10 =(X,Y,H,W,C)*B(2个)
2025-03-12 16:16:39
365
原创 图像识别技术与应用
VOC数据集:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。4.类别+真实边界框坐标(x,y,w,h)mean AP:每个类别所得到的AP的均值。
2025-03-11 10:54:37
269
原创 图像分类识别项目的总结
AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。②Boosting:个体学习器间存在强依赖关系、必须串行生成的序列化方法,如Adaboost。• 今天,AlexNet已经被更有效的架构所超越,但它是从浅层⽹络到深层网络的关键一步。①Bagging:个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表为随机森林。FN(False negative,假反例)——将正类预测为反类数。将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-03-10 17:27:24
671
原创 手写数字识别项目
4. 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。2. 训练弱分类器,如果样本分类正确,则在构造下一个训练集中,它的权值就会被降低;①Bagging:个体学习器间不存在强依赖关系、可同时生成的并行化方法,代表为随机森林。4.构造树模型:由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样。最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体。Boosting:从弱学习器开始加强,通过加权来进行训练。
2025-03-06 10:55:51
1493
原创 机器的学习
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。5.集成学习的结果通过投票法产生?
2025-03-05 15:56:48
108
原创 【无标题】
可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。(3)召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。(2)准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所。对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-02-28 10:09:00
382
原创 图像识别技术与应用
(3).启动tensorboard服务。cd到logs目录所在的同级目录,在命令行输入如下命令,logdir等式右边可以是相对路径或绝对路径。(1).导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。transforms提供了对PIL Image对象和Tensor对象的常用操作。#即add_xxx(标签,记录的对象,迭代次数)(1).对PIL Image的常见操作如下。(2).对Tensor的常见操作如下。其中,xxx指的是各种可视化方法。(4).Web展示。
2025-02-27 10:03:53
169
原创 图像识别技术与应用
transforms提供了对PIL Image对象和Tensor对象的常用操作。(2)..DataLoader:可以批量处理。(1).对PIL Image的常见操作如下。(2).对Tensor的常见操作如下。1. Pytorch数据处理工具箱。2.数据处理工具箱概述。
2025-02-26 19:51:11
138
原创 神经网络工具箱
残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。组合这两个模块得到现代经典RetNet18网络结构。1.加载预处理数据集。
2025-02-25 13:34:53
112
原创 神经网络工具箱
该方法构建时不能给每个层指定名称,如果需要给每个层指定名称,可使用add_module方法或OrderedDict方法。·残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。参数学习的目标函数,通过最小化损失函数来学习各种参数。(1). 使用nn.Sequential模型容器。(2). 使用nn.ModuleList模型容器。(3). 使用nn.ModuleDict模型容器。1.加载预处理数据集。
2025-02-24 16:25:34
464
原创 卷积神经网络
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。AlexNet由⼋层组成:五个卷积层、两个全连接隐藏层和一个全连接输出层。表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。浅层卷积核提取:边缘、颜色、斑块等底层像素特征。ReLu 激活函数(训练)
2025-02-21 09:23:24
334
原创 图像识别技术与应用
不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。给定输入大小224*224,在使用5*5卷积核的情况下,需要55层将输出降低到4*4。卷积层对输入和卷积核进行互相关运算,并在添加标量偏置之后产生输出。步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状。填充在输入周围添加额外的行/列,增加输出的高度和宽度。每个通道都有一个卷积核,结果是所有通道卷积结果的和。
2025-02-20 09:45:08
389
原创 图像识别与应用
激活函数:刚才登场的h(x)函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。激活函数在神经元中非常重要的。如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。(2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。
2025-02-19 17:22:56
403
原创 图形识别技术与应用
PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,PyTorch在API的设计上更加简洁、优雅和易懂。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。梯度指示的反向是各点处的函数值减小最多的方向,所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。
2025-02-18 11:28:47
809
原创 图像识别技术与应用
熟悉Python编程,熟悉pyTorch,TensorFlow等主流深度学习框架中的一种或多种。三.一个目标函数(objective function),用来量化模型的有效性。熟悉CNN等典型深度学习模型的使用场景和以及常见的物体检测与图像分类模型。四.调整模型参数以优化目标函数的算法(algorithm)参数,参数可以被看作旋钮 旋钮的转动可以调整程序的行为。拥有扎实的教学和编程功底,并有良好的团队合作能力。二.如何转换数据的模型(model);一.可以用来学习的数据(data);
2025-02-17 18:49:38
195
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人