自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark-Core编程2

在 Driver 程序中定义的变量,在Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。aggregate:分区的数据通过初始值和分区内的数据进行聚合,然后再和初始值进行分区间的数据聚合。join:返回两个 RDD 中相同键对应的所有元素,结果以键开头,值为嵌套形式。collect:在驱动程序中,以数组 Array 的形式返回数据集的所有元素。take:返回一个由 RDD 的前 n 个元素组成的数组。

2025-04-11 11:34:01 275

原创 Spark-Core编程

reduceByKey 和 groupByKey 都存在 shuffle 的操作,但是 reduceByKey可以在 shuffle 前对分区内相同 key 的数据进行预聚合(combine)功能,这样会减少落盘的数据量,而 groupByKey 只是进行分组,不存在数据量减少的问题,reduceByKey 性能比较高。使用 map 操作。zip算子:将两个RDD的数据按位置配对,组成键值对形式,其中,键值对中的 Key 为第 1 个 RDD中的元素,Value 为第 2 个 RDD 中的相同位置的元素。

2025-04-10 13:44:11 693

原创 Spark RDD相关概念

2 任务执行流程启动YARN集群环境,Spark通过申请资源创建调度节点和计算节点,根据需求将计算逻辑划分成不同任务,调度节点将任务发送给对应的计算节点进行计算。Executor:在集群中的工作节点上运行,负麦执行Spark应用的任务,任务彼此之间相互独立并将结果返回给driver,它还管理RDD的内存或存储。RDD(弹性分布式数据集)是Spark中最基本的数据处理模型,是弹性的,不可变的、可分区,里面的元素可并行计算的集合。不可变:RDD封装了计算逻辑,不可改变,只能产生新的RDD来保存修改后的数据。

2025-04-09 19:13:58 894

原创 Spark安装教程Windows版

或者是打开E:\spark\spark-3.0.0-bin-hadoop3.2\文件路径下 bin 目录中的 spark-shell.cmd 文件。然后在系统变量中添加SPARK-HOME(切记弄完这两步要点击确定)1.将spark文件解压缩到无中文无空格的路径中。首先在用户变量的path中添加spark内容。打开cmd窗口输出spark-shell。3,检验是否安装成功。

2025-04-08 10:28:18 598

原创 Scala基础知识8

Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。需求:单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。包括过滤、转换或映射、扁平化、扁平化加映射、分组、简化(归约),折叠。过滤:遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。转换或映射:将原始集合中的元素映射到某个函数中。归约和折叠:通过指定逻辑聚合数据,减小数据量。扁平化加映射:先进行映射操作,再进行扁平化。扁平化:取消嵌套格式,将所有元素放在起。

2025-04-08 10:14:58 462

原创 Scala基础知识7

注意:元组中最大只能有 22 个元素。扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten 操作集合中的每个元素的子元素映射到某个函数并返回新集合。Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用。不可变集合使用 set关键字,数据无序且不允许重复,遍历集合使用 for 循环。可变集合使用 mutable.set,添加和删除元素会返回新的集合。

2025-04-07 18:58:20 577

原创 Scala基础知识6

第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了。第一种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 之间没有任何关系,解决这类冲突问题,直接在类(Sub)中重写冲突方法。特质定义:使用 trait关键字定义特质,特质可以包含抽象属性和方法,也可以包含具体属性和方法。

2025-04-03 13:58:17 1182

原创 Scala基础知识5

第一种方式和 Java 的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包名用“.”进行分隔以表示包的层级关系,如com.zpark.scala。在 Scala 中,你可以通过类似的修饰符达到同样的效果。在 Scala 中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有 class 和 object 的共享变量,可以被直接访问。若使用 Java 的包管理风格,则包对象一般定义在其对应包下的 package.scala文件中,包对象名与包名保持一致。

2025-04-02 19:36:12 803

原创 Scala基础知识4

闭包:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。名调用:把代码传递过去。·定义:函数式编程(FP)是一种编程范式,它将任务分解为一系列函数或步骤。一个函数/方法在函数/方法体内又调用了本身,我们称之为递归调用。2,可变参数:在参数类型后加*表示可变参数,通常放在最后。·示例:在C语言中,函数式编程通过一系列函数调用来实现。函数柯里化:把一个参数列表的多个参数,变成多个参数列表。3,默认参数:在参数类型后直接赋值表示默认参数。函数:任务的每个步骤被封装为一个函数。

2025-04-01 13:38:34 1205

原创 Scala基础知识3

Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。其 中 ,for,while,do…for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号 ,当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号。循环守卫,即循环保护式(也称条件判断式,守卫)。示例二是:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。即使前闭合后开的范围。

2025-03-31 19:22:42 544

原创 Scala基础知识2

for 循环中的 yield 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List,以此类推。方法调用:Scholar语言中没有运算符,所有的操作都是通过方法调用来实现的,并通过示例展示了如何定义和调用加法方法。(下标索引从0开始。强类型与弱类型语言:Java(强类型)JavaScript(弱类型)在变量定义上的差异。Scala中的变量与常量:在Scala中如何使用VAR定义变量,使用VAL定义常量。

2025-03-28 14:01:30 503

原创 Scala基础知识

Scala 是 Scalable Language 的简写,意味着这种语言设计上支持大规模软件开发,是一门多范式的编程语言Scala 语言是由 Martin Odersky 等人在 2003 年开发的,并于 2004 年首次发布。Scala 的编译模型(独立编译,动态类加载)与 Java 和 C#(c++++) 一样,所以 Scala 代码可以调用 Java 类库(对于.NET实现则可调用.NET类库)。2.类名和方法名:类名的第一个字母大写,方法名的第一个字母小写,多个单词时每个单词的首字母大写。

2025-03-27 10:47:48 526

原创 图像识别技术与应用(unet系列)

U-net+++(了解下就行)不同的max pool整合低阶特征(X1和X2 , 轮廓之类的)上采样整合高阶特征(感受野大的 , 全局的)各层统一用卷积得到64个特征图5*64 =320 , 最终组合得到全部特征。Deep Supervision :也是很常见的事 , 多输出损失由多个位置计算 , 再更新现在来看 , 很多视觉任务都可以套用这招。由图可知我们的宽度也就是通道数越变越大。前一半是编码,后部分是解码(反卷积)。没有绝对好的模型也没有绝对差的模型,我们要根据自己的数据集选择合适的模型。

2025-03-21 13:23:16 353

原创 图像识别技术与应用(图像分割)

VOC数据集:(分为四大类:交通工具,家具,动物,人类)PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。我们首先要拿粗略标注的图像去训练,已监测我们的大方向是不是对的,大方向对了后我们在看精细图片。粗略标注与精细标注的结合:先用粗略标注的图像进行初步训练,再使用精细标注的图像进行细节调整。

2025-03-21 09:01:30 430

原创 图像识别技术与应用(YOLOv4)

M ish:(也许就是明日之星)别一棒子全给打死 , 给个改过自新的机会Relu有点太绝对了 , M ish更符合实际公式:f(α)=·tanh(ln(1+ew))但是计算量确实增加了 ,效果会提升一点。引入了自底向上的路径 , 使得底层信息更容易传到顶部并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。M 注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。

2025-03-14 12:07:59 708

原创 图像识别技术与应用(YOLOV3)

在softmax回归改进方面,针对多标签任务,v3采用了新的激活函数,允许一个物体存在多标签,并通过设定阈值来确定标签。没有池化和全连接层,全部卷积下采样通过stride为2实现3种scale,更多先验框基本上当下经典做法全融入了。在网络结构改进方面,v3更适合检测小目标,并且特征提取更加细致,融入了多尺度的特征图信息。终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。V3中也用了resnet的思想,堆叠更多的层来进行特征提取。先验框更丰富了,3种scale,每种3个规格,一共9种。

2025-03-13 10:48:04 456

原创 图像识别技术与应用(YOLOV和YOLOV2)

tx=−1则将其向左移动wp这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量。框框的位置可以由左上角或中心点和宽和高确定然后在看它的置信度,图中s是网格尺寸,c是类别,b是边框数量,7x7代表7x7个格子,所以带入公式得(7x7)x(2x5+20)。图中的30可以分成5 +5+20,其中两个5代表框框,20代表当前一共有20个分类。感受野越大越好,模型提取特征的能力越强,通过堆叠多个小卷积核可以获得更大的感受。

2025-03-12 17:25:55 530

原创 图像识别技术与应用(目标检测项目)

anchor-base是自顶向下的类似于传统方法,滑动窗口法穷举出许多,然后再根据置信度之类的进行筛选anchor-freeanchor-free是自底向上的想办法自动生成,不穷举free掉了anchor的预设过程。图中d是实例分割,实例分割不仅要对每个像素进行分类,还要区分同一类别的不同个体,为每个不同的实例生成单独的分割掩码。图片中的那个1是置信度,置信度是呈现在最后的结果上的,准确率是我们需要检测的。图中c是语义分割,同一个类别的分割成同一个颜色,不同类别的分割成不同颜色。目标种类与数量繁多的问题。

2025-03-11 13:09:50 357

原创 图像识别技术与应用学习总结

预处理数据:导包,对图像进行标准化,转化totensor格式,翻转,剪切等,加载数据构建模型,定义类,一般是卷积层,池化层,全连接层,再进行正向传播,定义损失,学习率。7、结构改进(为每个网络创建不同的数据子集)8、独立参数更新(消除梯度,避免参数更新相互干扰)训练模型:获取训练数据,权重参数剃度清零,正向传播,显示损失值,最后查看预测后的结果。9、差异化初始化(为每个网络设置不同的随机种子,增加模型多样性,提升集成效果)优化模型:采用全局平均池化,通过减小参数来进行优化。测试模型:测试模型的准确度。

2025-03-11 11:35:29 129

原创 图像识别技术(手写数字识别项目)

Flatten拉平成一维向量, self.layer1 :定义第一个隐藏层,由一个全连接层 nn.Linear 和一个批归一化层 nn.BatchNorm1d 组成。example_data[i][0] 是因为MNIST图像数据是三维张量(通道数,高度,宽度),这里取通道维度为0的单通道图像;in[4]里面的代码是导包,in[5]是定义一些超参数,in[6]是定义数据预处理,totensor是格式转换,转换成tensor格式,in[8]是下载和加载数据集,Normalize是归一化。

2025-03-06 13:18:47 289

原创 图像识别技术与应用(集成算法)

第一个函数是一个卷积层一个池化层一个卷积层一个池化层最后两个全连接。第二个函数是两个池化层,view是拉平成一维向量,relu是激活函数。 对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。第一个函数是一个卷积层一个最大池化层一个卷积层一个最大池化层 avgpool是平均池化层然后一个全连接。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?1.组成这个集成学习的学习器必须具有差异性。

2025-03-05 20:46:57 220

原创 图像识别技术(pytorch进行图像分类的识别)

model.apply(register_hook) 对模型中的每个模块应用 register_hook 函数,为符合条件的模块注册前向传播钩子。self.aap=nn.AdaptiveAvgPool2d(1) 定义了自适应平均池化层,输出大小为1x1,实现全局平均池化的效果。(predicted == labels)生成布尔张量,sum()统计 True的数量(即正确预测数),累加到 correct。outputs = net(images) :将图像输入到模型 net 中,得到模型的输出。

2025-03-04 11:35:22 409

原创 图像识别技术与应用

1.Pytorch实现cifar10多分类以CIFAR-10作为数据集,使用PyTorch利用卷积神经网络进行分类。2.数据集说明CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。 此过程经过卷积层池化层卷积层池化层最后在经过2个全连接。数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来

2025-03-04 10:13:47 367

原创 图像识别技术与应用(图像分类项目)

可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。深度学习最重要的属性,计算最长路径的卷积层+全连接层数量。LeNet网络,如c1是6,c3是16,c5是120如图可知。此过程没有池化层,因为池化层只是简单的删除一些数据没有激活函数,因为激活函数它只是一个函数。有监督方法(有答案有标签):平移、翻转、亮度、对比度、裁剪、缩放等。FP(False postive,假正例)——将反类预测为正类数。将不同的图像,划分到不同的类别标签,实现最小的分类误差。

2025-02-28 14:15:19 241

原创 图像识别技术与应用(Pytorch数据处理工具箱)

然后rgb的索引相对于是012,因为他们的设定方式不一样,所以转换的时候我们要考虑到他的这个通道是不一样的,要不然它呈现出来的色彩跟本来图片是有差异的,所以上图会出现(1,2,0)。最上面那个框里面import 是导包的,处理图片分为灰色图片和彩色图片有rgb三个通道,所以(0.5,0.5,0.5)这三个均值分别代表一个。transforms提供了对PIL Image对象和Tensor对象的常用操作。transforms提供了对PIL Image对象和Tensor对象的常用操作。各种可视化方法如下表所示。

2025-02-27 14:08:24 230

原创 图像识别技术与应用(pytorch数据处理工具箱)

第一个定义函数里面上面和下面是对应的,每一个数据集每一个样本都是和标签一一对应的。数据预处理的功能,包括数剧增强(如左右翻转,改些颜对比度等),以扩充数据集。数据处理工具箱的主要内容分为数据预处理,数据集处理加载和可视化工具三部分。一个变量后面加上中括号注意中括号里面的东西就是索引,索引从零开始。DataLoader:可以批量处理。相关参数介绍如下所示。DataLoader:可以批量处理。注意getitem_一次只能获取一个样本。DataLoader:可以批量处理。

2025-02-26 19:45:28 195

原创 图像识别技术与应用(pytorch神经网络工具箱2)

class是类,def定义函数, flatten拉平成一维向量,linear全连接,BatchNormld批量归一化。主要是下面的x数并不都是一样的。残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。继承nn.Module基类并应用模型容器构建模型。2.使用nn.ModuleList模型容器。3.使用nn.ModuleDict模型容器。1.使用nn.Sequential模型容器。5.循环测试或验证模型。

2025-02-25 18:32:15 130

原创 图像识别技术与应用(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.Xxx继承于nn.Module,nn.Xxx 需要先实例化并传入参数,然后以函数调用的方式调用实例化的对象并传入输入数据。②适用于激活函数、池化层。

2025-02-24 16:46:05 395

原创 图像识别技术与应用(卷积神经网络2)

AlexNet的一些突破,包括最大值化,不同尺寸的卷积核(从2x2到11x11),步长的变化(从1到4),输出通道数量的增加(从96到256)以及隐含层大小的增加(从120到4096)。所以AlexNet比LeNet更深,更宽,具有更多的卷积层和全连接层。通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。卷积编码器和全连接层密集块与深度有关,卷积编码器的深度取决于卷积层和池化层的数量,而全连接层的深度指的是它的层数。

2025-02-21 11:10:32 748

原创 图像识别技术与应用(卷积神经网络)

r代表红色通道,g代表绿色通道,b代表蓝色通道,卷积核与被卷积层滑动计算,第一个输出结果为3,第二个和第三个都为0,b等于0,最终相加等于3,其他的同理。1 平移不变性,不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。2 局部性,神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。卷积核的权重w和偏置b是可学习的参数,会在模型训练过程中不断调整,从而达到预期的准确率。每个通道都有一个卷积核,结果是所有通道卷积结果的和。

2025-02-20 11:31:09 272

原创 图像识别技术与应用(感知机)

学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。示例:使用历年试真题准备将来的考试再历年考试真题取得好成绩(训练误差)并不能保证未来考试成绩更好(泛化误差)。(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。用非线性的曲线划分出非线性空间——多层感知机:最简单的深度神经网络(可以面对线性不可分的情况)。测试数据集:评估最终模型的性能理论上严格的讲,是只用一次的数据集例如高考。

2025-02-19 17:54:01 573

原创 图像识别技术与应用(预备知识加线性回归加softmax回归)

流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)一个样本(一个图片或者一个候选框)中含有多个物体,标注的label也是多个的,多个类间并不是互斥的,多选多比如:多目标检测、短视频分类。列如:猫:(1,0,0,0),狗:(0,1,0,0),鸡:(0,0,1,0),鸭:(0,0,0,1)损失函数的值越小越好。

2025-02-18 14:30:57 468

原创 图像识别与应用(预备知识)

深度学习中,大多流行的优化算法通常基于一种基本方法——梯度下降(gradient descent)在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。拥有越多数据的时候,工作就越容易。日常生活中的人工智能:指纹人脸识别解锁,人脸支付,商品推荐,智能物流,仓储机器人,短视频推荐,智能助手等。任一调整参数后的程序被称为模型,通过操作参数而生成的所有不同程序的集合称为“模型族”。当处理图像数据时,每一张单独的照片即为一个样本,它的特征由每个像素数值的有序列表示。

2025-02-17 19:06:49 226

空空如也

空空如也

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

TA关注的人

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