- 博客(34)
- 收藏
- 关注
原创 Scala
➢ 分布式:数据存储在大数据集群不同节点上➢ 数据集:RDD 封装了计算逻辑,并不保存数据➢ 数据抽象:RDD 是一个抽象类,需要子类具体实现➢ 不可变:RDD 封装了计算逻辑,是不可以改变的,想要改变,只能产生新的 RDD,在新的 RDD 里面封装计算逻辑➢ 可分区、并行计算核心属性➢ 分区列表RDD 数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。➢ RDD 之间的依赖关系RDD 是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个 RDD 建立依赖关系。
2025-04-16 16:35:33
477
原创 Scala
第二章 Spark Core第八节 Spark-Core编程(四)Key-Value类型:17) partitionBy➢ 函数签名def partitionBy(partitioner: Partitioner): RDD[(K, V)]➢ 函数说明将数据按照指定 Partitioner 重新进行分区。从功能的角度:reduceByKey 其实包含分组和聚合的功能。GroupByKey 只能分组,不能聚合,所以在分组聚合的场合下,推荐使用 reduceByKey,如果仅仅是分组而不需要聚合。
2025-04-16 16:34:48
339
原创 Scala
第二章 Spark Core第九节 Spark-Core编程(五)RDD行动算子:行动算子就是会触发action的算子,触发action的含义就是真正的计算数据。
2025-04-16 16:34:08
414
原创 Scala
第三章第八节 Spark-SQL核心编程(七)Spark-SQL连接HiveApache Hive 是 Hadoop 上的 SQL 引擎,Spark SQL 编译时可以包含 Hive 支持,也可以不包含。将hive-site.xml文件放入conf/当中;运行bin/目录下的spark-sql.cmd 或者打开cmd,在D:\spark\spark-3.0.0-bin-hadoop3.2\bin当中直接运行spark-sql可以直接运行SQL语句,如下所示:5)代码操作Hive1.导入依赖。
2025-04-16 16:33:32
835
原创 Scala
val user = User("zhangsan",11),该语句在执行时,实际调用的是 User 伴生对象中的apply 方法,因此不用 new 关键字就能构造出相应的对象。当将 User("zhangsan", 11)写在 case 后时[case User("zhangsan", 11) => "yes"],会默认调用 unapply 方法(对象提取器),user 作为 unapply 方法的参数,unapply 方法将 user 对象的 name 和 age 属性提取出来,与User("zhang
2025-04-10 11:33:44
574
原创 Scala
Spark核心模块➢ Spark Core Spark Core 中提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL,Spark Streaming,GraphX, MLlib 都是在 Spark Core 的基础上进行扩展的 ➢ Spark SQL Spark SQL 是 Spark 用来操作结构化数据的组件。但是你也要记住,Spark 主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调度框架集成会更靠谱一些。
2025-04-10 11:32:57
346
原创 scala
第二章 Spark Core第八节 Spark-Core编程(四)Key-Value类型:17) partitionBy➢ 函数签名def partitionBy(partitioner: Partitioner): RDD[(K, V)]➢ 函数说明将数据按照指定 Partitioner 重新进行分区。从功能的角度:reduceByKey 其实包含分组和聚合的功能。GroupByKey 只能分组,不能聚合,所以在分组聚合的场合下,推荐使用 reduceByKey,如果仅仅是分组而不需要聚合。
2025-04-10 11:32:13
386
原创 Scala
➢ 分布式:数据存储在大数据集群不同节点上➢ 数据集:RDD 封装了计算逻辑,并不保存数据➢ 数据抽象:RDD 是一个抽象类,需要子类具体实现➢ 不可变:RDD 封装了计算逻辑,是不可以改变的,想要改变,只能产生新的 RDD,在新的 RDD 里面封装计算逻辑➢ 可分区、并行计算核心属性➢ 分区列表RDD 数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。➢ RDD 之间的依赖关系RDD 是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个 RDD 建立依赖关系。
2025-04-10 11:31:28
544
原创 Scala
默认情况下, Scala 使用的是不可变集合, 如果你想使用可变集合, 需要引用 scala.collection.mutable.Set。扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten 操作集合中的每个元素的子元素映射到某个函数并返回新集合。Scala 中的 Map 和 Java 类似,也是一个散列表,它存储的内容也是键值对(key-value) 映射。Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。
2025-04-07 16:51:58
884
原创 Scala
/(1)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。==比较两个变量本身的值,即两个对象在内存中的首地址;(1)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。// 测试:>、>=、<=、<、==、!(2)需求 2:Java 和Scala 中关于==的区别。<= 小于等于 4<=3 false。== 相等于 4==3 false。
2025-04-02 12:29:29
383
原创 Scala
4)Scala在设计时,马丁·奥德斯基是参考了Java的设计思想,可以说Scala是源于Java,同时马丁·奥 德斯基也加入了自己的思想,将函数式编程语言的特点融合到JAVA中, 因此,对于学习过Java的同学, 只要在学习Scala的过程中,搞清楚Scala和Java相同点和不同点,就可以快速的掌握Scala这门语言。2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库,实现两种语言的无缝对接。
2025-03-31 16:20:33
764
原创 Scala
访问Scala官网http://www.scala-lang.org/下载Scala编译器安装包,目前最新版本是2.13.x,但是目前大多数的框架都是用2.11.x或者2.12.x编写开发的,Spark2.x使用的就是2.11.x,所以这里推荐2.11.x版本,下载scala-2.11.12.msi后点击下一步就可以了。Scala与Java的关系是非常紧密的,因为Scala是基于JVM(JAVA虚拟机)的一门编程语言。Any是abstract类,它是Scala类继承结构中最底层的。
2025-03-28 10:30:03
467
原创 Scala
你可以在"之间使用任何有效的 Scala 标志符,Scala 将它们解释为一个 Scala 标志符,一个典型的使用为 Thread 的 yield 方法, 在 Scala 中你不能使用 Thread.yield()是因为 yield 为 Scala 中的关键字, 你必须使用 Thread.`yield`()来使用这个方法。然而以"$"开头的标识符为保留的 Scala 编译器产生的标志符使用,应用程序应该避免使用"$"开始的标识符,以免造成冲突。例如:一只狗的状属性有:颜色,名字,行为有:叫、跑、吃等。
2025-03-27 13:20:12
1129
原创 图像识别技术与应用
5*64 =320 , 最终组合得到全部特征。现在来看 , 很多视觉任务都可以套用这招。M 训练的时候同样会用到L4 ,效果还不错。M 以前我们都是加法 , 现在全都要。把能拼能凑的特征全用上就是升级版了。不同的max pool整合低阶特征。这么简单的结构就能把分割任务做好。起初是做医学方向 , 现在也是。损失由多个位置计算 , 再更新。(X1和X2 , 轮廓之类的)也是很常见的事 , 多输出。简单但是很实用 ,应用广。(感受野大的 , 全局的)特征融合 ,拼接更全面。
2025-03-21 12:23:57
203
原创 图像识别技术与应用
VOC数据集:一共2913张图,1464张训练图片,1449张验证图片· Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像· Cityscape数据集:语义分割和实例分割· Pixel Accuracy:逐像素分类精度。· 实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。· 图像分割:预测目标的轮廓。· 全景分割:每个像素点分配一个语义类别和一个唯一的实例ID。· 反卷积网络:解码器。
2025-03-20 09:27:02
826
原创 图像识别技术与应用
比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。其中M表示高置信度候选框 , Bi就是遍历各个框跟置信度高的重合情况。M V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。M 注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。只增加训练成本 , 但是能显著提高精度 , 并不影响推理速度。
2025-03-14 10:17:43
454
原创 图像识别技术与应用
残差连接-为了更好的特征从今天的角度来看,基本所有网络架构都用上了残差连接的方法。13*13特征图上:(116x90),(156x198),(373x326)26*26特征图上:(30x61),(62x45),(59x119)52*52特征图上:(10x13),(16x30),(33x23)特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。为了能检测到不同大小的物体,设计了3个scale。YOLO-V2中选了5个,这回更多了,一共有9种。
2025-03-13 10:37:16
190
原创 图像识别技术与应用
使用高分辨率分类器后,YOLOv2的mAP提升了约4%DarkNet,实际DarkNet,实际。通过引入anchor boxes,使得预测的box数量更多(13*13*n)可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候。V1训练时用的是224*224,测试时使用448*448。把检测问题转化成回归问题,一个CNN就搞定了!问题2:小物体检测效果一般,长宽比可选的但单一。网络的每一层的输入都做了归一化,收敛相对更容易。
2025-03-12 15:58:25
300
原创 图像识别技术与应用
(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框。选取置信度最高的框A添到输出列表,将其从候选框列表删除。aspect ratio来表示目标的形状(长宽比)设定目标框的置信度阈值,常用的阈值是0.5左右。
2025-03-11 10:01:47
251
原创 图像识别技术与应用
➢nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。4. 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。
2025-03-10 17:07:20
2233
原创 图像识别技术与应用
说明,model.train()与model.eval()的使用如果模型中有BN(Batch Normalization)层和Dropout,需要在训练时添加model.train(),在测试时添加mode1,exa10)。optimizer.zero grad()在默认情况下梯度是累加的,需要手工把梯度初始化或清零,调用optimizer.zero_grad()即可。4. 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。
2025-03-06 09:56:22
331
原创 图像识别技术与应用
4. 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。=True时,等同于使用交叉验证评估模型。对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。2. 训练弱分类器,如果样本分类正确,则在构造下一个训练集中,它的权值就会被降低;·构造树模型:由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样。最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体。
2025-03-05 16:14:54
359
原创 图像识别技术与应用
可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。· 将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-02-28 10:17:44
303
原创 图像识别技术与应用
5)ToTensor把一个取值范围是[0,255]的PIL.Image转换成Tensor。3)CenterCrop、RandomCrop、RandomSizedCrop裁剪图像。9)transforms提供了对PIL Image对象和Tensor对象的常用操作。Scalar用于可视化单一数值,例如损失值、准确率等随训练过程的变化。Text用于可视化文本数据,例如模型生成的文本或训练日志。2)Scale/Resize调整尺寸,长宽比保持不变。#即add_xxx(标签,记录的对象,迭代次数)
2025-02-27 10:20:25
408
原创 图像识别技术与应用
drop_lastdataset 中的数据个数可能不是 batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃。pin_memory是否将数据保存在锁页内存(pin memory区),其中的数据转到GPU会快一些。pin_memory是否将数据保存在锁页内存(pin memory区),其中的数据转到GPU会快一些。Embedding用于可视化高维数据的低维表示。collate_fn如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可。
2025-02-26 16:50:18
940
原创 图像识别技术与应用
该方法构建时不能给每个层指定名称,如果需要给每个层指定名称,可使用add_module方法或OrderedDict方法。·残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。2.继承nn.Module基类并应用模型容器构建模型。1.使用nn.Sequential按层顺序构建模型。Pytorch神经网络工具箱。
2025-02-25 10:02:40
451
原创 图像识别技术与应用
➢nn.Xxx继承于nn.Module,nn.Xxx 需要先实例化并传入参数,然后以函数调用的方式调用实例化的对象并传入输入数据。➢nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。nn.Module,写法一般为nn.Xxx,如nn.Linear、nn.Conv2d、nn.CrossEntropyLoss等。运行结果:Model Seq(
2025-02-24 16:09:46
1754
原创 图像识别技术与应用
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。不同次数的重复VGG块,可获得不同的架构,例如VGG-16,VGG-19,......此外,还有5个最大池化层分布在不同的卷积层之下。
2025-02-21 09:19:08
449
原创 图像识别技术与应用
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状。
2025-02-20 09:47:40
283
原创 图像识别技术与应用
激活函数:刚才登场的h(x)函数会将输入信号的总和转换为输出信号,这种函数一般称为激活函数(activation function)。(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。好"了的时候,很可能已经把训练样本自身的一些特点当作了所有潜在样本都会具有的一般性质——过拟合;如“激活”一词所示,激活函数的作用在于决定如何来激活输入信号的总和。(2) 激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。w称为权重:控制输入信号的重要性的参数。
2025-02-19 16:47:55
442
原创 图像识别技术与应用第一节课剩下部分和第二节课
PyTorch是由Meta AI(Facebook)人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,PyTorch在API的设计上更加简洁、优雅和易懂。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。梯度指示的反向是各点处的函数值减小最多的方向,所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。
2025-02-18 10:34:46
363
原创 图片识别技术与应用的第一节理解
看到了生活方式的转变比如智能语音闹钟控制系统、自动驾驶和人脸识别考勤 智能购物、医疗。这节课了解了这门专业的就业职位:工资是怎么样的岗位职责和任职要求。还能用软件看到天气的好坏了解了典型训练和机器学习中的关键组件。了解了人工智能的研究、开发、模拟、延伸、理论、方法和技术。机器学习中的关键组件包含:数据 模型 目标函数 优化算法。日常生活的智能比如 指纹、淘宝、抖音。看到了人类工业文明的演变。
2025-02-17 17:00:41
133
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅