- 博客(30)
- 收藏
- 关注
原创 Spark的安装
3.1cmd下输入spark-shell提示版本号则安装成功。2.2 PATH添加saprk文件的相对路径。3 在cmd下验证spark环境是否配置成功。
2025-04-08 11:15:47
184
原创 Scala的集合(二)
相当于先进行 map 操作,在进行 flatten 操作集合中的每个元素的子元素映射到某个函数并返回新集合。Scala 为了充分使用多核 CPU,提供了并行集合(有别于前面的串行集合),用于多核环境的并行计算。Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。1)过滤:遍历一个集合并从中获取满足指定条件的元素组成一个新的集合。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。按照指定的规则对集合的元素进行分组。1)fold 基本使用。
2025-04-08 10:47:45
472
原创 Scala的集合
说的简单点,就是将多个无关的数据封装为一个整体,称为。1) arr2.toArray 返回结果才是一个不可变数组,arr2 本身没有变化。2) arr1.toBuffer 返回结果才是一个可变数组,arr1 本身没有变化。3)Map 中的键值对其实就是元组,只不过元组的元素个数为 2,称之为对偶。5)集合间合并:将一个整体拆成一个一个的个体,称为扁平化。1)声明元组的方式:(元素 1,元素 2,元素 3)2)向集合中添加数据,打印数据,修改数据,删除数据。2)创建一个 List(数据有顺序,可重复)
2025-04-07 17:13:27
618
原创 scala的面向对象与集合
一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了。由于一个类可以混入(mixin)多个 trait,且 trait 中可以有具体的属性和方法,若混入的特质中具有相同的方法(方法名,参数列表,返回值均相同),必然会出现继承冲突问题。3. Scala 不可变集合,就是指该集合对象不可修改,每次修改就会返回一个新对象, 而不会对原对象进行修改。
2025-04-03 11:37:28
973
原创 Scala的面向对象
一种方式和 Java 的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包名用“.”进行分隔以表示包的层级关系,如com.zpark.scala。在 Scala 中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有 class 和 object 的共享变量,可以被直接访问。如采用嵌套方式管理包,则包对象可与包定义在同一文件中,但是要保证包对象与包声明在同一作用域中。1)和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。
2025-04-02 17:59:32
696
原创 Scala的函数式编程
2)类型省略之后,发现只有一个参数,则圆括号可以省略;解决问题时:将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。4)如果参数只出现一次,则参数省略且后面参数可以用_代替。7)如果函数无参,但是声明了参数列表,那么调用时,小括号,可加可不加。8)如果函数没有参数列表,那么小括号可以省略,调用时小括号必须省略。6)Scala 如果期望是无返回值类型,可以省略等号。
2025-04-01 11:36:03
742
原创 Scala的基本语法(二)
推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。2)for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号。循环守卫,即循环保护式(也称条件判断式,守卫)。方式四:循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)需求:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。需求:鸡兔一共有35只,脚一共有94只,问鸡和兔各多少只?倒序打印 10 到 1。
2025-03-31 17:44:43
1203
原创 Scala的基本语法
3. Scala的基本操作符scala的算术操作符与java的算术操作符也没有什么区别,比如算术运算符+、-、*、/、%等,以及逻辑运算符&、|、^关系运算符>>、<<等但是,在scala中,这些操作符其实是数据类型的方法,比如1 + 1,可以写做1.+(1) 例如,1.to(10),又可以写做1 to 104.字符串的插值操作Scala中的三个字符串插值器:s、f、raws在任何字符串前加上s,就可以直接在串中使用变量了f。
2025-03-28 11:38:59
649
原创 初识scala
Martin Odersky 等人在 2003 年开发的,并于 2004 年首次发布,它运行于Java平台,并兼容现有的Java程序,也与java。优雅:这是框架设计师第一个要考虑的问题,框架的用户是应用开发程序员,API是否优雅直接影响用户体验。例如:一只狗的状属性有:颜色,名字,行为有:叫、跑、吃等。对象是一个类的实例。Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义。Scala程序从main()方法开始处理,这是每一个Scala程序的强制程序入口部分。
2025-03-27 10:59:59
1101
原创 图像识别技术与应用-U-net
可以更容易剪枝: 因为前面也单独有监督训练 可以根据速度要求来快速完成剪枝 训练的时候同样会用到L4 ,效果还不错。特征融合 ,拼接更全面,其实跟densenet思想一致 把能拼能凑的特征全用上就是升级版了。3)各层统一用卷积得到64个特征图 5*64 =320 , 最终组合得到全部特征。1)不同的max pool整合低阶特征 (X1和X2 , 轮廓之类的):也是很常见的事 ,多输出 ,损失由多个位置计算 ,再更新。2)采样整合高阶特征 (感受野大的 , 全局的)
2025-03-21 10:41:27
214
原创 图像识别技术与应用-图像分割项目
VOC数据集:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。VOC数据集:从2007年开始引进了语义分割和实例分割的标注。3)有5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。图像分割:预测目标的轮廓。将不同的像素划分到不同的类别,非常细粒度的分类。只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。每个像素点分配一个语义类别和一个唯一的实例ID。
2025-03-20 10:24:56
354
原创 图像识别技术与应用-YOLO(三)
与Relu有点太绝对了 , Mish更符合实际,但是计算量确实增加了 ,效果会提升一点。读折一篇相当于把今年来部分优秀的论文又过了一遍。在不重叠情况下能让预测框尽可能朝着真实框前进。其实就是用最大池化来满足最终输入特征一致即可。用随机值或训练集的平均像素值替换图像的区域。好像只有一条路子 , 能不能来个双向的呢?引入了各种能让特征提取更好的方法。,从数据层面和网络设计层面来进。就是遍历各个框跟置信度高的。网络细节部分加入了很多改进。但可以提高模型精度的方法。感觉能做的都让他给做了。一句话概述就是更简单了。
2025-03-14 10:35:34
1063
原创 图像识别技术与应用-YOLO(二)
V3最大的改进就是网络结构,使其更适合小目标检测,特征做的更细致,融入多持续特征图信息来预测不同规格物体,先验框更丰富了,3种scale,每种3个规格,一共9种。softmax改进,预测多标签任务。从今天的角度来看,基本所有网络架构都用上了残差连接的方法V3中也用了resnet的思想,堆叠更多的层来进行特征提取。2)左图:对不同的特征图分别利用;右图:不同的特征图融合后进行预测;为了能检测到不同大小的物体,设计了3个scale。YOLO-V3一共有九种相比YOLO-V2更多了。3种scale,更多先验框。
2025-03-13 10:12:14
525
原创 图像识别技术与应用-YOLO
它通过对训练集中标注的目标框尺寸等信息进行聚类分析,自动确定合适的先验框尺寸,使得先验框能更好地匹配不同数据集中目标的实际形状和大小分布情况,进而提升目标检测的精度,让网络在预测时更容易收敛到合适的边界框。YOLO-V1它是经典的one-stage方法,You Only Look Once,名字就已经说明了一切!DarkNet,实际输入为416*416,没有FC层,5次降采样(13*13),1*1卷积节省了很多参数。最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。比YOLO-V1更快,更强,
2025-03-12 16:32:00
760
原创 图像识别技术与应用-目标检测项目
YOLO(TXT)格式:(x,y,w,h)分别代表中心点坐标和宽、高 x,y,w,h均为归一化结果。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。重复上述过程,直到候选框列表为空,返回输出列表。万个目标标注 平均每个图像的目标数是7.2。设定目标框的置信度阈值,常用的阈值是0.5。添到输出列表,将其从候选框列表删除。②按置信度的从大到小,计算P和。
2025-03-11 10:51:54
592
原创 图像识别技术与应用总结
2.学习多层感知机后,我明白它有着独特的魅力,通过层层神经元构建起复杂的网络结构,能处理非线性问题,让数据的分析和处理变得更灵活、精准,不再局限于简单的线性关系。生活中,拍照识物让获取信息变得轻而易举。5,从项目过程中我学到了,前期准备数据就很关键,要精心收集、标注图像,确保数据的质量和多样性,这直接关系到后续模型的效果。而且图像分类在实际中有诸多应用,从安防监控到医疗影像诊断等,深感这个项目不仅让我技术上有收获,更明白了如何将所学应用到实际,去解决实实在在的问题,也让我对图像识别领域的探索更有热情了。
2025-03-10 17:55:46
527
原创 图像识别技术与应用-手写识别项目
optimizer.zero grad()在默认情况下梯度是累加的,需要手工把梯度初始化或清零,调用optimizer.zero_grad()即可。Pytoch常用的优化方法都封装在torch.optin里面,其设计很灵活,可以扩展为自定义的优化方法。所有的优化方法都是继承了基类optin.optinizer,并实现了自己的优化步骤。调用model.eval()会把所有的training属性设置为False。调用model.train()会把所有的module设置为训练模式。1.加载预处理数据集。
2025-03-06 10:42:46
445
原创 图像识别技术与应用-卷积神经网络实现cifar10分类2
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。2 卷积神经网络实现cifar10分类。
2025-03-05 18:40:31
411
原创 图像识别技术与应用-卷积神经网络的CIFAR10图像分类
CIFAR10:由 10 个类中的 60000 张 32x32 彩色图像组成,每类 6000 张图像。有50000个训练图像和10000个测试图像。数据集分为五个培训批次和一个测试批次,每个测试批次有 10000 张。测试批次包含来自每个类的 1000 个随机选择的图像。培训批次随机包含剩余图像,但某些培训批次可能包含来自一个班级的图像。培训批次包含每节课的 5000 张图片。十个类分别是:【飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船,卡车】
2025-03-03 17:46:46
484
原创 图像识别技术与应用-图像分类
可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。P-R曲线:召回率增加,精度下降 曲线和坐标轴面积越大,模型越好。(1).通用类别图像分类:指得是差异性非常大,它完全是不同的类别。:又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。将不同的图像划分到不同的类别标签,实现最小的分类误差。将正类预测为正类数。将反类预测为正类数。
2025-02-28 10:33:53
577
原创 图像识别技术与应用-数据处理工具箱(二)
可视化类型:涵盖多种类型,如用 add_graph 可视化神经网络结构,用 add_scalar 展示单一数值变化(如损失值),用 add_image 可视化图像数据(如特征图) ,不同类型适用于不同数据展示需求。将这些操作像管道一样拼接起来,类似于。如果要对数据集进行多个操作,可通过。把一个取值范围是[0,255]的。标准化,即减均值,除以标准差。调整尺寸,长宽比保持不变。修改亮度、对比度和饱和度。
2025-02-27 15:28:21
641
原创 图像识别技术与应用-Pytorch数据处理工具箱
torchvision:包含计算机视觉常用数据集(如MNIST、CIFAR10 )和现代网络模型(如AlexNet ), transforms.compose 用于数据处理, utils.make_grid 和 utils.save_image 用于拼图和保存图。Dataset类:有 __getitem__ 和 __len__ 两个成员方法,用于构建自定义数据集。(2)_getitem_:通过给定索引获取数据,标签或一个样本。使用多进程加载的进程数,0代表不使用多进程。Sampler:负责数据采样。
2025-02-26 17:22:53
630
原创 图像识别技术与应用-Pytorch神经网络工具箱(二)
残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。组合这两个模块得到现代经典RetNet18网络结构。
2025-02-25 14:07:37
401
原创 图像识别技术与应用-Pytorch神经网络工具箱
nn.Module,写法一般为nn.Xxx,如nn.Linear、nn.Conv2d、nn.CrossEntropyLoss等。(3)继承nn.Module基类构建模型,又使用相关模型容器(nn.Sequential,nn.ModuleList,nn.ModuleDict等)进行封装。nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。
2025-02-24 17:12:10
910
原创 图像识别技术与应用-卷积神经网络(二)
卷积编码器:由两个卷积层组成;• 全连接层密集块:由三个全连接层组成;每个卷积层使⽤5×5卷积核和一个sigmoid激活函数。表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。:居中和缩放 50000个训练数据 10,000 个测试数据 图像大小28*28 10 类。浅层学习:不涉及特征学习,其特征主要靠人工经验或特征转换方法来抽取。视觉分层理论,从底层到高层不断抽象。
2025-02-21 10:21:31
489
原创 图像识别技术与应用一卷积神经网络
多层感知机处理表格数据时,将图像数据展平会忽略空间结构信息,如猫狗分类任务中,用100个神经元单隐含层的MLP处理3600万像素图像,参数量高达36亿。1. 平移不变性:不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。2. 局部性:神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。卷积层:将输入和卷积核交叉相关并加上偏移得到输出,核矩阵和偏移是可学习参数,核矩阵大小是超参数。
2025-02-20 10:53:06
365
原创 图像识别技术与应用(三)
3.激活函数:刚才登场的h(x)函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。与非门设定为(-0.5,-0.5,0.7) ,或门设定为(0.5,0.5,-0.3)也能符合相应逻辑。如果y = (b+w_1x_1+w_2x_2≤0) =0,或者y = (b+w_1x_1+w_2x_2>0) =1 其中,x_1、x_2是输入信号,它们代表了感知机接收的外部信息。欠拟合:是对训练样本一般性质学习不足。
2025-02-19 17:25:41
518
原创 图像识别技术与应用(二)
PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库|的Python实现的深度学习库,目前被广泛应用于学术界和工业界, PyTorch在API的设计上更加简洁、优雅和易懂。学习率过小,训练速度会极慢,影响模型训练效果。1. 线性回归:以房屋价格估计为例,展示线性回归在实际生活中的应用,通过分析历史房价数据,建立房价与相关因素的线性关系,从而预测房屋价格。2. 无监督学习:无监督学习处理的是没有标签的数据,常见的无监督学习任务包括聚类和主成分分析。
2025-02-18 11:29:36
688
原创 图像识别技术与应用
图像识别技术是人工智能领域的一个重要分支,近年来随着深度学习的快速发展,图像识别技术在各个领域的应用越来越广泛。本文将从人工智能的发展历程、图像识别技术的基本原理、机器学习的关键组件以及深度学习的成功案例等方面进行探讨。1. 机械化时代:18世纪末,瓦特发明蒸汽机,标志着机械化时代的开始,工业设备开始发展。
2025-02-17 17:53:28
361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人