- 博客(36)
- 收藏
- 关注
原创 Spark-SQL核心编程
Spark SQL CLI 可以很方便的在本地运行 Hive 元数据服务以及从命令行执行查询任务。在 Spark 目录下执行如下命令启动 Spark SQL CLI,直接执行 SQL 语句,类似于 Hive 窗口。➢ Spark 要接管 Hive 需要把 hive-site.xml 拷贝到 conf/目录下,并将url中的localhost改为node01。D:\spark\spark-3.0.0-bin-hadoop3.2\bin当中直接运行spark-sql。Spark-SQL连接Hive。
2025-04-16 18:05:48
715
原创 Spark-SQL核心编程
/ 创建 SparkConf 对象,设置应用名称和运行模式。// 执行 SQL 查询,计算平均工资并显示结果。// 自定义聚合函数类,继承自 Aggregator。// 创建 RDD 并存储人员姓名和工资信息。// 创建 SparkContext 对象。// 创建 SparkSession 对象。// 创建 RDD 并进行转换和聚合操作。// 创建 SparkConf 对象。//创建SparkSession对象。//创建SparkSession对象。// 完成聚合操作,计算最终结果。
2025-04-15 10:02:00
609
原创 Spark-SQL
这使得 Spark SQL 得以洞察更多的结构信息,从而对藏于 DataFrame 背后的数据源以及作用于 DataFrame 之上的变换进行了针对性的优化,最终达到大幅提升运行时效率的目标。在 IDEA 中开发程序时,如果需要 RDD 与 DF 或者 DS 之间互相操作,那么需要引入 import spark.implicits._ 这里的 spark 不是 Scala 中的包名,而是创建的 sparkSession 对象的变量名称,所以必 须先创建 SparkSession 对象再导入。
2025-04-14 17:36:07
777
原创 Spark-Core编程二
在 Driver 程序中定义的变量,在。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式为本地模式。// 创建 SparkConf 对象,设置应用名称和运行模式。// 创建 SparkConf 对象,设置应用名称和本地运行模式。// 创建 SparkConf 对象,设置应用名称和运行模式。// 创建 SparkConf 对象,设置应用名和运行模式。
2025-04-11 09:53:42
541
原创 Spark-Core编程
(acc1: (Int, Int), acc2: (Int, Int)) => (acc1._1 + acc2._1, acc1._2 + acc2._2) // 将分区内部计算的结果进行分区间的汇总计算。(acc: (Int, Int), v) => (acc._1 + v, acc._2 + 1), // 在分区内部进行,将新元素 v 合并到第一步操作得到的结果中。// 创建 SparkConf 对象,设置运行模式为本地模式,应用名为 RDD_function。
2025-04-10 10:32:49
736
原创 spark安装
启动成功后,可以输入网址进行Web UI监控页面进行访问。(默认端口为4040)在解压缩文件夹下的 data 目录中,添加 word.txt 文件。在命令行工具中执行如下代码指令。
2025-04-08 15:58:32
220
原创 集合计算高级函数
/(4)扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten。//(2)转化/映射println(list.map(x => x + 1))// 从源码的角度,reduce 底层调用的其实就是 reduceLeft。// 单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。// 4) 对计数完成后的结果进行排序(降序)// 2) 将相同的单词放置在一起。// 3) 对相同的单词进行计数。
2025-04-08 15:52:26
540
原创 大数据技术之Scala
一、多维数组1)多维数组定义val arr = Array.ofDim[Double](3,4)说明:二维数组中有三个一维数组,每个一维数组中有四个元素2)案例实操object TestSet {def main(args: Array[String]): Unit = {//(1)创建了一个二维数组, 有三个元素,每个元素是,含有 4 个元素一维数组()val arr = Array.ofDim[Int](3, 4) arr(1)(2) = 88//(2)遍历二维数组for (i <- arr) { //
2025-04-07 16:07:17
683
原创 scala编程语言
(1)案例中的 super,不是表示其父特质对象,而是表示上述叠加顺序中的下一个特质,即,MyClass 中的 super 指代 Color,Color 中的 super 指代Category,Category 中的super指代Ball。第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了特质叠加的策略。
2025-04-03 17:32:55
912
原创 scala编程语言
封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。在 Scala 中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有 class 和 object 的共享变量,可以被直接访问。如果类是 public 的,则必须和文件名一致。(1)val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。//val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。
2025-04-02 16:26:30
1051
原创 函数式编程
/ (2)如果参数列表中存在多个参数,那么可变参数一般放置在最后def test2( name : String, s: String* ): Unit = {解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。//(1)定义一个函数,函数参数还是一个函数签名;有多个参数,且每个参数再后面只使用一次,则参数省略且后面参数用_表示,第n 个_代表第n 个参数。闭包:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。
2025-04-01 10:42:29
740
原创 scala代码2
Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。需求 4:循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)需求:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。需求 2:采用 Scala 自带的函数,退出循环。需求:输出 1 到 5 中,不等于 3 的值。需求:输出 5 句 "scala "需求:输出 5 句 "scala "
2025-03-31 16:54:35
657
原创 Scala基础代码展示
/使用val定义的变量值是不可变的,相当于java里用final修饰的变量val i = 1//使用var定义的变量是可变的,在Scala中鼓励使用val//Scala编译器会自动推断变量的类型,必要的时候可以指定类型//变量名在前,类型在后一、字符串的插值操作")条件表达式val x = 1三、类型的转换四、循环语句1、for循环1 to 151 until 20遍历字符串:遍历数组:双重循环:数组操作:对数组中的每个数乘以10,生成一个新数组:2、while循环。
2025-03-28 11:02:29
757
原创 scala编程语言
这可以大幅减少名称冲突的可能性。Scala比Java代码简洁明了,表达力强,开发速度快,可以与Java相互转换使用,可以为以后学习spark和Kafka打下基础。: Scala 可以直接调用 Java 代码,并且可以在 Java 中调用 Scala 代码。如果需要使用几个单词来构成一个类的名称,每个单词的第一个字母要大写。如果若干单词被用于构成方法的名称,则每个单词的第一个字母应大写。: 可以使用 Java 的标准库和框架,利用其丰富的生态系统。: 可以混入类中,提供类似多重继承的功能,增强代码复用性。
2025-03-27 10:29:40
282
原创 U-Net
Deep Supervision :也是很常见的事,多输出,损失由多个位置计算,再更新,现在来看 , 很多视觉任务都可以套用这招。:因为前面也单独有监督训练,可以根据速度要求来快速完成剪枝,训练的时候同样会用到L4 ,效果还不错。:特征融合,拼接更全面,其实跟densenet思想一致,把能拼能凑的特征全用上就是升级版了。:还引入了特征拼接操作,以前我们都是加法 , 现在全都要,这么简单的结构就能把分割任务做好。:概述就是编码解码过程,简单但是很实用 ,应用广,起初是做医学方向 , 现在也是。
2025-03-21 09:05:04
345
原创 图像识别技术与应用
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。将不同的像素划分到不同的类别,非常细粒度的分类。只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。
2025-03-20 09:59:55
264
原创 图像分割项目
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。将不同的像素划分到不同的类别,非常细粒度的分类。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。3、COCO数据集:以场景理解为目标,特别选取比较复杂的日常场景。
2025-03-20 09:18:17
328
原创 Yolov4
并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。比较好理解 , 坐标回归预测值都在0-1之间 , 如果在grid边界怎么表示?亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。做人留一面日好相见 ,柔和一点的NMS , 更改分数而且直接剔除。注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。只增加训练成本 , 但是能显著提高精度 , 并不影响推理速度。
2025-03-14 10:52:36
894
原创 YOLO-V3
终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。为了能检测到不同大小的物体,设计了3个scale。softmax改进,预测多标签任务。下采样通过stride为2实现。没有池化和全连接层,全部卷积。3种scale,更多先验框。基本上当下经典做法全融入了。残差连接-为了更好的特征。scale变换经典方法。scale变换经典方法。softmax层替代。
2025-03-13 09:30:43
302
原创 YOLO系列
从现在的角度来看,Batch Normalization已经成网络必备处理。经过Batch Normalization处理后的网络会提升2%的mAP。可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。V2中并没有直接使用偏移量,而是选择相对grid cell的偏移量。这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候。V1训练时用的是224*224,测试时使用448*448。问题2:小物体检测效果一般,长宽比可选的但单一。网络的每一层的输入都做了归一化,收敛相对更容易。
2025-03-12 16:15:22
183
原创 目标检测项目
1、VOC数据集:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。2、COCO数据集:起源于微软2014年出资标注的MS COCO数据库。其他:Cascade R-CNN、Guided Anchoring。1、类别+真实边界框坐标(x,y,w,h)SSD系列:SSD、DSSD、FSSD。常见two stage算法。
2025-03-11 10:23:10
275
原创 图像分类识别任务项目汇报的总结感悟
标注问题:学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)-个样本(一个图片或者一个候选框)中含有多个物体,标注的label也是多个的,多个类间并不是互斥的。廉价又高质量的传感器、廉价的数据存储以及廉价计算的普及,特别是GPU的普及,使大规模的算力唾手可得。一般情况下,模型的精度越高,说明模型的效果越好。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。
2025-03-10 17:59:58
471
原创 手写数字识别项目
3)求损失值:yprevmodel(x)loss=loss fu(y prev,y true)4)自动求导,实现梯度的反向传播:loss.backward()5)更新参数:optimizer.step)定义损失函数可以通过自定义方法或使用PvIorch内署的损失函数,如回归使用的loss fimem, SELoss0),分类使用的m.BCELoss等损失函数,更多内容可参考本书5.2.4节。Pytoch常用的优化方法都封装在torch.optin里面,其设计很灵活,可以扩展为自定义的优化方法。
2025-03-06 10:45:58
569
原创 图像识别技术与应用(集成算法)
对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?
2025-03-05 18:27:49
145
原创 图像识别技术与应用
CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。图6-27 显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。为方便起见,我们已预先下载好数据并解压,存放在当前目录的data目录下,所以,参数download=False。6.5.1 数据集说明。
2025-03-03 16:55:56
196
原创 图像分类项目
可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-02-28 10:43:05
304
原创 Pytorch数据处理工具箱二
3)启动tensorboard服务。cd到logs目录所在的同级目录,在命令行输入如下命令,logdir等式右边可以是相对路径或绝对路径。1)导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。transforms提供了对PIL Image对象和Tensor对象的常用操作。transforms提供了对PIL Image对象和Tensor对象的常用操作。ransforms提供了对PIL Image对象和Tensor对象的常用操作。使用TensorBoard的一般步骤如下。
2025-02-27 10:04:09
426
原创 pytroch数据处理工具箱
使用多进程加载的进程数,0代表不使用多进程。2.DataLoader:可以批量处理。.DataLoader:可以批量处理。但是DataLoader并不是迭代器,可以通过“iter”命令转换成迭代器。数据处在不同目录之下时会不方便!,一般使用默认的拼接方式即可。如何将多个样本数据拼接成一个。是否将数据保存在锁页内存(中的数据个数可能不是。区),其中的数据转到。
2025-02-26 19:47:05
192
原创 Pytorch神经网络工具箱二
残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。·另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率。·组合这两个模块得到现代经典RetNet18网络结构。1.使用nn.Sequential模型容器。2.使用nn.ModuleList模型容器。
2025-02-25 13:02:38
209
原创 Pytorch神经网络工具箱
nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。继承nn.Module基类构建模型,又使用相关模型容器(nn.Sequential,nn.ModuleList,nn.ModuleDict等)进行封装。nn.Module,写法一般为nn.Xxx,如nn.Linear、nn.Conv2d、nn.CrossEntropyLoss等。
2025-02-24 16:21:31
425
原创 图像识别技术与应用(卷积神经网络二)
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。-表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。-AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的 ImageNet数据集。-今天,AlexNet已经被更有效的架构所超越,但它是从浅层⽹络到深层网络的关键一步。-浅层卷积核提取:边缘、颜色、斑块等底层像素特征。
2025-02-21 09:40:36
232
原创 图像识别技术与应用(卷积神经网络一)
1.平移不变性:不管检测对象出现在图像中的哪个位置,神经网络的前面几层都应该对相同的图像区域具有相似的反应。2.局部性:神经网络的前面几层应该只探索输入图像中的局部区域,而不过度在意图像中相隔较远的区域的关系。3.步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状。2.填充在输入周围添加额外的行/列,增加输出的高度和宽度。每个通道都有一个卷积核,结果是所有通道卷积结果的和。1.填充和步幅可以改变输出的高度和宽度。远超过地球上的狗和猫的数量。核矩阵和偏移是可学习的参数。核矩阵的大小是超参数。
2025-02-20 10:01:16
331
原创 图像识别技术与应用(感知机)
多层感知机使用隐藏层和激活函数来得到非线性模型常用激活函数是Sigmoid,Tanh,RELU使用Softmax来处理多分类超参数为隐藏层数和各个隐藏层大小。- 激活函数:激活函数用于决定如何激活输入信号的总和,常用的激活函数包括阶跃函数、Sigmoid函数、Tanh函数和RELU函数。- 学习过程:神经网络通过外界输入样本的刺激,不断调整网络的连接权值和拓扑结构,使网络的输出接近期望输出。(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。
2025-02-19 17:09:45
414
原创 图像识别技术与应用
当我们获得了一些数据源及其表示、一个模型和一个合适的损失函数,接下来就需要一种算法,它能够搜索出最佳参数,以最小化损失函数。深度学习中, 大多流行的优化算法通常基于一种基本方法--梯度下降(gradient descent) 在每个步骤中,梯度下降法都会检查每个参数,看看如果仅对该参数进行少量变动,训练集损失会朝哪个方向移动。在机器学习中,我们需要定义模型的优劣程度的度量,这个度量在大多数情况是“可优化”的,这被称之为目标函数。这些模型由神经网络错综复杂的交织在一起,包含层层数据转换,因此被称为深度学习。
2025-02-17 19:02:27
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人