自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spark-SQL数据加载和保存

通过 spark.read.load 和 df.write.save 实现数据加载与保存。可利用 format 指定数据格式,如 csv 、 jdbc 等;option 用于设置特定参数,像 jdbc 格式下的数据库连接信息;load 和 save 则分别指定数据路径。保存时还能使用 SaveMode 包含 ErrorIfExists 、 Append 、 Overwrite 、 Ignore 等模式。

2025-04-16 19:57:08 566

原创 Spark-SQL核心编程语言

强类型的 Dataset 和弱类型的 DataFrame 都提供了相关的聚合函数, 如 count(),除此之外,用户可以设定自己的自定义聚合函数。Spark3.0之前我们使用的是UserDefinedAggregateFunction作为自定义聚合函数,从 Spark3.0 版本后可以统一采用强类型聚合函数 Aggregator案例:计算平均工资实现方式一:RDD实现方式二:强类型UDAF实现方式三:弱类型UDAF。

2025-04-15 13:25:41 483

原创 spark简介和核心编程

1. Spark-SQL概述:Spark SQL是Spark处理结构化数据的模块,前身是Shark。Shark基于Hive开发,提升了SQL-on-Hadoop的性能,但对Hive的过度依赖制约了Spark发展。SparkSQL抛弃Shark代码,汲取其优点后重新开发,在数据兼容、性能优化、组件扩展上优势明显。Shark停止开发后,衍生出SparkSQL和Hive on Spark。SparkSQL简化RDD开发,提供DataFrame和DataSet两个编程抽象。

2025-04-14 19:24:01 1185

原创 RDD行动算子和累加器

是能触发真正计算数据的算子reduce:聚集RDD元素collect:返回数据集所有元素foreach:分布式遍历元素count:返回元素个数:first:返回首个元素take:返回前n个元素takeOrdered:返回排序后的前n个元素aggregate:分区和分区间数据聚合fold:简化版aggregatecountByKey:统计每种key的个数save:保存数据到不同格式文件。

2025-04-11 13:47:56 352

原创 RDD转换算子

2025-04-10 15:09:32 802

原创 spark架构和RDD相关概念

RDD是Spark最基本的数据处理模型,是一个抽象类,代表弹性、不可变、可分区且元素可并行计算的集合。具有存储、容错、计算、分片弹性,数据分布式存储,封装计算逻辑但不保存数据。

2025-04-09 19:30:06 932

原创 spark简介和安装

Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。

2025-04-08 13:20:48 506

原创 Scala集合(3)

Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。fold折叠:化简的一种特殊情况。案例实操两个集合合并。

2025-04-08 10:08:24 509

原创 Scala集合(2)

元组也是可以理解为一个容器,可以存放各种相同或不同类型的数据。说的简单点,就是将多个无关的数据封装为一个整体,称为元组。元组中最大只能有 22 个元素。arr1.toBuffer //不可变数组转可变数组arr2.toArray //可变数组转不可变数组。(3) Map 中的键值对其实就是元组,只不过元组的元素个数为 2,称之为对偶。(1) 声明元组的方式:(元素 1,元素 2,元素 3)获取集合的尾(不是头的就是尾)集合初始数据(不包含最后一个)去掉前(后)n 个元素。取前(后)n 个元素。

2025-04-07 20:01:42 649

原创 面向对象(2)

使用 type 关键字可以定义新的数据数据类型名称,本质上就是类型的一个别名。

2025-04-03 12:22:20 792

原创 Scala面向对象

封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。Scala有两种包的管理风格,一种方式和JAVA的曝光率风格相同,每一个原文件一个包,用.进行分割以表示包的层级关系。Scala 类的主构造器函数的形参包括三种类型:未用任何修饰、var 修饰、val 修饰。命名规则:只能包含数字、字母、下划线、小圆点,但不能用数字开头,也不要使用关键字。def 方法名(参数列表) [:返回值类型] = {属性是类的一个组成部分。

2025-04-02 19:58:18 871

原创 函数式编程

函数定义函数 1:无参,无返回值函数 2:无参,有返回值函数 3:有参,无返回值函数 4:有参,有返回值函数 5:多参,无返回值函数 6:多参,有返回值案例实操。

2025-04-01 18:56:50 353

原创 Scala基础语法(3)

Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号。循环守卫,即循环保护式(也称条件判断式,守卫)。保护式为 true 则进入循环体内部,为false 则跳过,类似于continue。代码案例:输出1-5中不等于3的值。

2025-03-31 19:32:01 323

原创 Scala基础语法(2)

var:定义变量val:定义常量。

2025-03-28 13:31:29 278

原创 scala简介和基础语法

Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。

2025-03-27 11:35:47 427

原创 U-net系列算法

整体结构:就是编码解码过程简单但是很实用 ,应用广泛,起初是做医学方向 , 现在也是主要网络结构:还引入了特征拼接操作,以前我们都是加法 , 现在全都要这么简单的结构就能把分割任务做好。

2025-03-21 10:51:06 289

原创 图像分割项目

图像分割:预测目标的轮廓。将不同的像素划分到不同的类别,非常细粒度的分类。应用场景:人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。图像分割的前景和背景:物体Things:可数前景目标(行人等)、事物Stuff:不可数背景(天空,草地,路面)

2025-03-20 10:40:55 387

原创 YOLO系列(3)

故事得先从FPN说起自顶向下的模式 ,将高层特征传下来好像只有一条路子 , 能不能来个双向的呢?引入了自底向上的路径 , 使得底层信息更容易传到顶部并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。V4中用的是SAM , 也就是空间的注意力机制 不光NLP,语音识别领域在搞attention , CV中也一样。之前的dropout(随机删除神经元,预防过拟合)是随机选择点(b) , 现在吃掉一个区域。注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。

2025-03-14 11:15:32 892

原创 YOLO系列(2)

13*13特征图上:(116x90),(156x198),(373x326)26*26特征图上:(30x61),(62x45),(59x119)左图:对不同的特征图分别利用;右图:不同的特征图融合后进行预测;52*52特征图上:(10x13),(16x30),(33x23)为了能检测到不同大小的物体,设计了3个scale。V3中也用了resnet的思想,堆叠更多的层来进行特征提取。从今天的角度来看,基本所有网络架构都用上了残差连接的方法。YOLO-V2中选了5个,这回更多了,一共有9种。

2025-03-13 10:35:50 260

原创 YOLO系列

很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。faster-rcnn系列选择的先验比例都是常规的,但是不一定完全适合数据集。通过引入anchor boxes,使得预测的box数量更多(13*13*n)最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。这样会导致收敛问题,模型不稳定,尤其是刚开始进行训练的时候。YOLO-V2-更大的分辨率。

2025-03-12 16:46:05 683

原创 目标检测项目

anchor-base是自顶向下的类似于传统方法,滑动窗口法穷举出许多,然后再根据置信度之类的进行筛选。anchor-free是自底向上的想办法自动生成,不穷举free掉了anchor的预设过程。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。根据置信度降序排列候选框列表选取置信度最高的框A添到输出列表,将其从候选框列表删除。候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框。设定目标框的置信度阈值,常用的阈值是0.5左右。

2025-03-11 10:46:22 882

原创 Pytorch实现cifar10多分类总结

CIFAR-10是一个常用的图像分类数据集,每张图片都是 3×32×32,3通道彩色图片,分辨率为 32×32。它包含了10个不同类别,每个类别有6000张图像,其中5000张用于训练,1000张用于测试。这10个类别分别为:飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车。CIFAR-10分类任务是将这些图像正确地分类到它们所属的类别中。对于这个任务,可以使用深度学习模型,如卷积神经网络(CNN)来实现高效的分类。# 判断是否有可用的CUDA设备,如果有使用GPU版本,没有使用CPU版本。

2025-03-10 17:13:45 716

原创 手写数字识别项目

print("学习率:{:.6f}".format(optimizer.param_groups[0]["lr"]))#保存loss的数据与epoch数值。#net.eval()将模型改为预测模式。#导入pytorch内置的mnist数据。#下载数据,并对数据进行预处理。#动态修改参数学习率。#在测试集上测试结果。#定义损失函数和优化器。

2025-03-06 11:19:24 891

原创 机器学习和cifar10多分类集成方法

对于一个复杂任务来说,将多个专家的判断进行适当的综合所得出的判断,要比其中任何一个专家单独的判断好。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务等。集成学习的结果通过投票法产生?即“少数服从多数”

2025-03-05 17:49:07 731

原创 Python实现cifar10多分类(2)

total=0return xLR=0.001params = 0else:else:hooks =[]model(x)h.remove()

2025-03-04 13:43:59 442

原创 Python实现cifar10多分类

显示图像plt.show()#随机获取部分训练数据#使用for循环来迭代数据。

2025-03-03 19:15:28 458

原创 图像识别技术与应用

可以用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。多类别分类模型各个类别之间的分类情况对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。

2025-02-28 10:21:54 373

原创 pytorch数据行”处理工具箱2

使用TensorBoard的一般步骤如下。1)导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。#实例化SummaryWriter,并指明日志存放路径。在当前目录没有logs目录将自动创建。#调用实例#关闭2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)其中,xxx指的是各种可视化方法。3)启动tensorboard服务。

2025-02-27 14:13:14 378

原创 Pytorch数据处理工具箱

·_getitem_一次只能获取一个样本 但是DataLoader并不是迭代器,可以通过“iter”命令转换成迭代器。

2025-02-26 18:33:53 200

原创 构 建 模 型

残差块有两种一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率组合这两个模块得到现代经典RetNet18网络结构。

2025-02-25 19:04:46 297

原创 Pytorch神经网络工具箱

而nn.functional.xxx需要你自己定义weight、bias,每次调用的时候都需要手动传入weight、bias等参数, 不利于代码复用。而nn.functional.xxx无法与nn.Sequential结合使用。而使用nn.functional.xxx却无此功能。

2025-02-24 16:21:53 317

原创 LeNet架构、AlexNet、VGG架构

AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。今天,AlexNet已经被更有效的架构所超越,但它是从浅层⽹络到深层网络的关键一步。新加入了Dropout、ReLU、最大池化层和数据增强。

2025-02-21 10:05:05 447

原创 卷积神经网络

卷积层将输入和卷积核进行交叉相关,加上偏移后得到输出核矩阵和偏移是可学习的参数核矩阵的大小是超参数填充和步幅可以改变输出的高度和宽度填充在输入周围添加额外的行/列,增加输出的高度和宽度步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状填充和步幅可用于有效地调整数据的维度。

2025-02-20 10:31:25 310

原创 多层感知机

多层感知机使用隐藏层和激活函数来得到非线性模型常用激活函数是Sigmoid,Tanh,RELU使用Softmax来处理多分类超参数为隐藏层数和各个隐藏层大小。

2025-02-19 17:19:54 651

原创 机器学习和线性回归、softmax回归

监督学习(supervised learning)擅⻓在“给定输⼊特征”的情况下预测标签。每个“特征-标签”对都称为一个样本(example)。我们的目标是生成一个模型,能够将任何输⼊特征映射到标签(即预测)。 回归是训练一个回归函数来输出一个数值;分类是训练一个分类器来输出预测的类别 学习预测不相互排斥的类别的问题称为多标签分类(multi-label classification)一个样本(一个图片或者一个候选框)中含有多个物体,标注的label也是多个的,多个类间并不是互斥的,

2025-02-18 12:05:32 385

原创 人工智能和机器学习中关键组件

人工智能:用人工的方法在机器(计算机)上实现的智能;或者说是人们使机器具有类似于人的智能。人工智能学科:人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

2025-02-17 18:24:12 261 1

空空如也

空空如也

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

TA关注的人

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