- 博客(44)
- 收藏
- 关注
原创 大数据应用开发和项目实战2
imread() 方法返回一个 numpy.ndarray 对象,其形状是 (nrows, ncols, nchannels),表示读取的图像的行数、列数和通道数。其格式为matplotlib.pyplot.hist(x, bins=None, color=None, label=None, **kwargs)7、imshow() 创建了一个 4x4 的二维 numpy 数组,并对其进行了三种不同的 imshow 图像展示。1、imsave() 可以将生成的图像保存到指定的目录中。
2025-04-29 11:17:33
515
原创 大数据应用开发和项目实战
如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1。如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1。绘制一条不规则线,坐标为 (1, 3)、(2, 8)、(6, 1)、(8, 10)。plot()中的 marker 参数:定义一些不一样的标记。plot()中的 marker 参数:定义一些不一样的标记。plot()中的 marker 参数:定义一些不一样的标记。绘制坐标 (1, 3) 和 (8, 10) 的两个点。
2025-04-28 19:35:52
659
原创 Spark-Streaming
给定一个由(键,事件)对构成的 DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数,它可以构建出一个新的 DStream,其内部数据为(键,状态) 对。与 RDD 中的惰性求值类似,如果一个 DStream 及其派生出的 DStream 都没有被执行输出操作,那么这些 DStream 就都不会被求值。updateStateByKey() 的结果会是一个新的 DStream,其内部的 RDD 序列是由每个时间区间对应的(键,状态)对组成的。① 定义状态,状态可以是一个任意的数据类型。
2025-04-27 17:24:02
664
原创 Kafka和Spark-Streaming
DStream 上的操作与 RDD 的类似,分为 Transformations(转换)和 Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语,如:updateStateByKey()、transform()以及各种 Window 相关的原语。需要记住的是,尽管这些函数看起来像作用在整个流上一样,但事实上每个 DStream 在内部是由许多 RDD(批次)组成,且无状态转化操作是分别应用到每个 RDD 上的。// 等迭代器中的数据,全部完成之后,再关。
2025-04-25 11:07:44
833
原创 Spark-Streaming
存在的问题,接收数据的 Executor 和计算的 Executor 速度会有所不同,特别在接收数据的 Executor速度大于计算的 Executor 速度,会导致计算数据的节点内存溢出。DirectAPI:是由计算的 Executor 来主动消费 Kafka 的数据,速度由自身控制。一个topic中的数据,只能被一个groupId所属的consumer消费一次。每一条数据,只存在于当前主题的一个分区中,所有的副本中,都有数据。读取数据时,分区间的数据是无序的,分区中的数据是有序。
2025-04-24 11:04:24
390
原创 Kafka
另一种是消息队列推送数据,消费者的消费能力不一样,没法根据不同的消费者提供不同的推送速度。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Kafka中存储的消息,被消费后不会被删除,可以被重复消费,消息会保留多长,由kafka自己去配置。声明Kafka集群对应的一个编号,0、1、2分别代表node01、node02、node03。一些常见的中间件:ActiveMQ,IBMMQ,RabbitMQ,ZMQ 但都不是分布式的。Kafka就是一个分布式的用于消息存储的消息队列。
2025-04-23 17:33:03
869
原创 Spark-Streaming
在Spark 1.5 以前版本,用户如果要限制 Receiver 的数据接收速率,可以通过设置静态配制参数“spark.streaming.receiver.maxRate”的值来实现,此举虽然可以通过限制接收速率,来适配当前的处理能力,防止内存溢出,但也会引入其它问题。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter等,以及和简单的 TCP 套接字等等。②容错:Spark Streaming在没有额外代码和配置的情况下,可以恢复丢失的数据。
2025-04-22 11:12:28
719
原创 Spark-SQL
因为 Spark Thrift Server 的接口和协议都和 HiveServer2 完全一致,因此我们部署好 Spark Thrift Server 后,可以直接使用 hive 的 beeline 访问 Spark Thrift Server 执行相关语句。在开发工具中创建数据库默认是在本地仓库,通过参数修改数据库仓库的地址: config("spark.sql.warehouse.dir","hdfs://node01:9000/user/hive/warehouse")
2025-04-21 18:21:50
522
原创 Spark-SQL
"):在"csv"、"jdbc"、"json"、"orc"、"parquet"和"textFile"格式下需要传入加载数据的路径。① format("…"):指定加载的数据类型,包括"csv"、"jdbc"、"json"、"orc"、"parquet"和"textFile"。"):指定保存的数据类型,包括"csv"、"jdbc"、"json"、"orc"、"parquet"和"textFile"。"):在"csv"、"orc"、"parquet"和"textFile"格式下需要传入保存数据的路径。
2025-04-16 17:23:18
915
原创 Spark-SQL
强类型的 Dataset 和弱类型的 DataFrame 都提供了相关的聚合函数, 如 count(),// 聚合函数缓冲区中值的数据类型(salary,count)// 稳定性:对于相同的输入是否一直返回相同的输出。//创建SparkSession对象。//创建SparkSession对象。//创建上下文环境配置对象。//在 spark 中注册聚合函数。//在 spark 中注册聚合函数。// 函数返回值的数据类型。
2025-04-15 11:15:38
1684
原创 Spark-SQL
但是,随着 Spark 的发展,对于野心勃勃的 Spark 团队来说,Shark 对于 Hive 的太多依 赖(如采用 Hive 的语法解析器、查询优化器等等),制约了 Spark 的 One Stack Rule Them All 的既定方针,制约了 Spark 各个组件的相互集成,所以提出了 SparkSQL 项目。从 API 易用性的角度上看,DataFrame API 提供的是一套高层的关系操作,比函数式的 RDD API 要 更加友好,门槛更低。不同是的他们的执行效率和执行方式。
2025-04-14 17:31:16
800
原创 Spark Core
在 Driver 程序中定义的变量,在Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。在类型为(K,V)和(K,W)的 RDD 上调用,返回一个(K,(Iterable<V>,Iterable<W>))类型的 RDD。在类型为(K,V)和(K,W)的 RDD 上调用,返回一个相同 key 对应的所有元素连接在一起的。分区的数据通过初始值和分区内的数据进行聚合,然后再和初始值进行分区间的数据聚合。
2025-04-11 11:17:38
494
原创 Spark Core
从 shuffle 的角度:reduceByKey 和 groupByKey 都存在 shuffle 的操作,但是 reduceByKey可以在 shuffle 前对分区内相同 key 的数据进行预聚合(combine)功能,这样会减少落盘的数据量,而 groupByKey 只是进行分组,不存在数据量减少的问题,reduceByKey 性能比较高。该操作用于排序数据。将待处理的数据以分区为单位发送到计算节点进行处理,这里的处理是指可以进行任意的处理,哪怕是过滤数据,在处理时同时可以获取当前分区索引。
2025-04-10 11:10:56
472
原创 Spark Core
Spark 集群的独立部署环境中,不需要依赖其他的资源调度框架,自身就实现了资源调度的功能,所以环境中还有其他两个核心组件:Master 和 Worker,这里的 Master 是一个进程,主要负责资源的调度和分配,并进行集群的监控等职责,类似于 Yarn 环境中的 RM, 而Worker 呢,也是进程,一个 Worker 运行在集群中的一台服务器上,由 Master 分配资源对数据进行并行的处理和计算,类似于 Yarn 环境中 NM。在提交应用中,可以提供参数指定计算节点的个数,以及对应的资源。
2025-04-09 17:44:41
795
原创 Spark安装
在刚配置好的虚拟机中没有主机与客户端进行数据互传的软件,需要自己安装,可以使用xftp(Windows软件)或rzsz(Linux中软件),软件选择因人而异,这里举例用rzsz安装。接下来就可以使用了,也可以在自己电脑的浏览器里输入网址进行Web UI监控页面进行访问(默认端口为4040)输入自己设定好的虚拟机ip:4040即可进入。同样以spark-3.0.0为例,直接在电脑里你喜欢的位置解压缩(路径不能有中文)(用的是同一个压缩包)接下来等待自行安装完毕即可(后面会让你确认是否安装,按y回车即可)
2025-04-08 11:31:44
388
原创 大数据技术之Scala
④扁平化+映射 注:flatMap 相当于先进行 map 操作,在进行 flatten 操作集合中的每个元素的子元素映射到某个函数并返回新集合。Reduce 简化(归约) :通过指定的逻辑将集合中的数据进行聚合,从而减少数据,最终获取结果。//(2)转化/映射println(list.map(x => x + 1))// 单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结。单词计数:将集合中出现的相同的单词,进行计数,取计数排名前三的结果。// 4) 对计数完成后的结果进行排序(降序)
2025-04-08 11:11:09
932
原创 大数据技术之Scala
/(4) 如 果 key 不 存 在 , 返 回 0 println(map.get("d").getOrElse(0)) println(map.getOrElse("d", 0))//(7)去掉前(后)n 个元素println(list1.drop(3)) println(list1.dropRight(3))//(2)向集合中添加数据buffer.+=(5) buffer.append(6) buffer.insert(1,2)说的简单点,就是将多个无关的数据封装为一个整体,称为元组。
2025-04-07 17:26:57
1599
原创 大数据技术之Scala
①案例中的 super,不是表示其父特质对象,而是表示上述叠加顺序中的下一个特质,即,MyClass 中的 super 指代 Color,Color 中的 super 指代Category,Category 中的super指代Ball。第二种,一个类(Sub)混入的两个 trait(TraitA,TraitB)中具有相同的具体方法,且两个 trait 继承自相同的 trait(TraitC),及所谓的“钻石问题”,解决这类冲突问题,Scala 采用了特质叠加的策略。这种感觉类似于 Java 中的抽象类。
2025-04-03 11:21:28
943
原创 大数据技术之Scala
Scala 有两种包的管理风格,一种方式和 Java 的包管理风格相同,每个源文件一个包(包名和源文件所在路径不要求必须一致),包名用“.”进行分隔以表示包的层级关系,如com.zpark.scala。封装就是把抽象出的数据和对数据的操作封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作(成员方法),才能对数据进行操作。在 Scala 中可以为每个包定义一个同名的包对象,定义在包对象中的成员,作为其对应包下所有 class 和 object 的共享变量,可以被直接访问。
2025-04-02 17:28:35
960
原创 大数据技术之Scala
/(4.4)如果参数只出现一次,则参数省略且后面参数可以用_代替val arr5 = operation(Array(1, 2, 3, 4), _ + 1) println(arr5.mkString(","))// (2)如果参数列表中存在多个参数,那么可变参数一般放置在最后def test2( name : String, s: String* ): Unit = {//(2)如果函数体只有一行代码,可以省略花括号def f2(s:String):String = s + " jinlian"
2025-04-01 11:25:18
541
原创 大数据技术之Scala
Scala 内置控制结构特地去掉了 break 和 continue,是为了更好的适应函数式编程,推荐使用函数式的风格解决break 和continue 的功能,而不是一个关键字。②for 推导式有一个不成文的约定:当 for 推导式仅包 含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下。④需求 4:循环遍历 10 以内的所有数据,奇数打印,偶数跳过(continue)需求:将原数据中所有值乘以 2,并把数据返回到一个新的集合中。print("正常结束循环")
2025-03-31 17:33:49
259
原创 Scala的基本语法
如果被循环的是 Map,返回的就是Map,被循环的是 List,返回的就是 List,以此类推。⑤赋值操作符:=(赋值)、+=(加等于)、-=(减等于)、*=(乘等于)、/=(除等于)、%=(取余等于)等。=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。④位操作符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移位)、>>(右移位)。当y的值类型既可能为Int又可能为String时,它的类型被定义为Any,是Int和String的父类。
2025-03-28 11:26:59
300
原创 Scala
⑤模式匹配:这是Scala的一个强大特性,它可以用于匹配各种类型的数据,如数字、字符串、对象等。⑦与Java的互操作性:Scala代码编译后生成的字节码可以在Java虚拟机(JVM)上运行,能够直接使用现有的Java类库,反之亦然。在 Scala 里,定义包是组织代码的重要方式,它能把相关的类、对象、特质等代码元素归为一组,便于管理和维护代码,下面为你详细介绍定义包的不同方式。③Web开发:Scala也可用于Web开发,有一些流行的Web框架,如Play框架,它提供了高效、简洁的方式来开发Web应用程序。
2025-03-27 11:20:19
571
原创 人工智能图像识别应用基础
不同的max pool整合低阶特征(X1和X2,轮廓之类的)@ 上采样整合高阶特征(感受野大的 , 全局的)5*64 =320 , 最终组合得到全部特征。M 训练的时候同样会用到L4,效果还不错。现在来看,很多视觉任务都可以套用这招。把能拼能凑的特征全用上就是升级版了。M 可以根据速度要求来快速完成剪枝。M 以前我们都是加法,现在全都要。这么简单的结构就能把分割任务做好。其实跟densenet思想一致。起初是做医学方向,现在也是。损失由多个位置计算,再更新。简单但是很实用,应用广。也是很常见的事,多输出。
2025-03-21 11:21:32
264
原创 人工智能图像识别应用基础
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。2、Cityscape数据集:50个城市在春夏秋三个季节不同时间段不同场景、背景的街景图。2、实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。3、COCO数据集:以场景理解为目标,特别选取比较复杂的日常场景。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。
2025-03-20 11:28:07
372
原创 人工智能图像识别应用基础
亲民政策,单GPU就能训练的非常好,接下来很多小模块都是这个出发点。M V3中为了更好满足不同输入大小,训练的时候要改变输入数据的大小。M 网络细节部分加入了很多改进,引入了各种能让特征提取更好的方法。数据增强:调整亮度、对比度、色调、随机缩放、剪切、 翻转、旋转。M 做人留一面日好相见,柔和一点的NMS,更改分数而且直接剔除。M 不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离。M 注意力机制,网络细节设计,特征金字塔等,你能想到的全有。
2025-03-14 11:24:35
697
原创 人工智能图像识别应用基础
13*13特征图上:(116x90),(156x198),(373x326)26*26特征图上:(30x61),(62x45),(59x119)52*52特征图上:(10x13),(16x30),(33x23)终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。YOLO-V2中选了5个,这回更多了,一共有9种。YOLO-V2中选了5个,这回更多了,一共有9种。3、scale变换经典方法。
2025-03-13 11:18:05
325
原创 人工智能图像识别应用基础
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?例如预测值(σtx,σty,tw,th)=(0.2,0.1,0.2,0.32),anchor框为。最后一层时感受野太大了,小目标可能丢失了,需融合之前的特征。
2025-03-12 17:44:10
290
原创 人工智能图像识别应用基础
1、VOC数据集:PASCAL VOC挑战赛(The PASCAL Visual Object Classes)是一个世界级的计算机视觉挑战赛。(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。经典发展线:R-CNN、SPP-Net、Fast R-CNN、 Faster R-CNN。(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框。
2025-03-11 11:21:25
467
原创 人工智能图像识别应用基础
nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。流程:在梯度法中,函数的取值从当前位置沿着梯度方向前进一定的距离,然后在新的方向重新求梯度,再沿着新梯度的方向前进,如此反复,不断的沿梯度方向前进。梯度指示的反向是各点处的函数值减小最多的方向,所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。
2025-03-10 19:45:38
576
原创 人工智能图像识别应用基础
其中model. train()是保证BN层用每一批数据的均值和方差,而model.eval()是保证BN用全部训练数据的均值和方差;定义损失函数可以通过自定义方法或使用PyTorch内置的损失函数,如回归使用的1osss_funann. MSELoss(),分类使用的nr.BCEL088等损失函数,更多内容可参考本书5.2.4节。构建模型(假设为model)后,接下来就是训练模型。道,需要有多个数字,如三个通道,应该是wormalize([m1,m2,m3],[n1,n2,n3])。
2025-03-06 11:16:07
598
原创 人工智能图像识别应用基础
print("epoch:"+ 5tr(ep)+"能成模型的正编率"+str(vote_correct/len(testloader)))print("VGG16模型迭"”+str(ep)+"次的正确率为: "+str(coreect/len(testloader)))print("epoch:"+ str(ep)+"集成模型的正确率"+str(vote_correct/len(testloader)))_, prediction=torch.max(out,1) #按行取最大值。
2025-03-05 17:35:32
936
原创 人工智能图像识别应用基础
Pytorch实现cifar10多分类(2)# 权重参数梯度清零。#使用全局平均池化层。# 权重参数梯度清零。四、像keras一样显示各层参数。三、采用全局平均池化。
2025-03-04 15:22:20
240
原创 人工智能图像识别应用基础
数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机选择的图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。图6-27显示了数据集中涉及的10个类,以及来自每个类的10个随机图像。为方便起见,我们已预先下载好数据并解压,存放在当前目录的data 目录下,所以,参数dowmload=False。CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。# 随机获取部分训练数据。
2025-03-03 17:43:51
783
原创 人工智能图像识别应用基础
例如在对不同风格的绘画进行分类时,若样本量过少,可能只能呈现出部分风格的部分特征,像只包含了某几种颜色搭配或者笔触风格的样本,模型就难以学习到该类绘画风格的完整特征范围,导致对一些具有该风格但特征稍有不同的绘画分类错误。比如在对不同种类的花卉进行分类时,如果样本量少,模型可能只能识别训练样本中的那几种花卉在特定角度、光照下的样子,对于新的花卉图像,即使是同种类但角度、光照等条件不同,模型也难以正确分类。3、召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。
2025-02-28 11:14:12
1817
原创 人工智能图像识别应用基础
cd到logs目录所在的同级目录,在命令行输入如下命令,logdir等式右边可以是相对路径或绝对路径。1)导入tensorboard,实例化SummaryWriter类,指明记录日志路径等信息。1、transforms提供了对PIL Image对象和Tensor对象的常用操作。2、transforms提供了对PIL Image对象和Tensor对象的常用操作。transforms提供了对PIL Image对象和Tensor对象的常用操作。1、使用TensorBoard的一般步骤如下。
2025-02-27 10:29:06
396
原创 人工智能图像识别应用基础
但是DataLoader并不是迭代器,可以通过“iter”命令转换成迭代器。2DataLoader:可以批量处理。相关参数介绍如下所示。2.DataLoader:可以批量处理。·_getitem_一次只能获取一个样本。2.DataLoader:可以批量处理。数据处在不同目录之下时会不方便!一、Pytorch数据处理工具箱。Pytorch数据处理工具箱。三、utils.data。二、数据处理工具箱概述。
2025-02-26 20:17:11
184
原创 人工智能图像识别应用基础
该方法构建时不能给每个层指定名称,如果需要给每个层指定名称,可使用add_module方法或OrderedDict方法。残差块有两种,一种是正常的模块方式,将输入与输出相加,然后应用激活函数ReLU。三、继承nn.Module基类并应用模型容器构建模型。二、使用nn.Sequential按层顺序构建模型。1.使用nn.Sequential模型容器。2.使用nn.ModuleList模型容器。3.使用nn.ModuleDict模型容器。一、继承nn.Module基类构建模型。Pytorch神经网络工具箱。
2025-02-25 18:59:51
232
原创 人工智能图像识别应用基础
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 17:23:05
261
原创 人工智能图像识别应用基础
通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习。AlexNet的架构与LeNet相似,但使⽤了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。不同次数的重复VGG块,可获得不同的架构,例如VGG-16,VGG-19,......第一个卷积层:5×5的卷积核,6个特征图,填充为2。
2025-02-21 10:59:01
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人