- 博客(28)
- 收藏
- 关注
原创 Scala基础知识
子类对非抽象属性重写,父类非抽象属性只支持 val 类型,而不支持 var。因为var修饰的为可变变量,子类继承之后就可以直接使用,没有必要重写和 Java 一样,可以通过包含带有定义或重写的代码块的方式创建一个匿名的子类。Person{单例对象采用object关键字声明单例对象对应的类称之为伴生类,伴生对象的名称应该和伴生类名一致。单例对象中的属性和方法都可以通过伴生对象名(类名)直接调用访问。伴生对象apply方法,obj(arg)applyScala 中的 trait 中即。
2025-04-03 11:39:45
430
原创 Scala基础知识
包对象的概念,即为每一个包定义一个同名的包对象,包对象中的成员可以被包下的所有类和对象直接访问。不同参数类型的辅助构造器的区分方式。protected 为受保护权限,Scala 中受保护权限比 Java 中更严格,同类、子类可以访问,同包无法访问。1.和 Java 一样,可以在顶部使用 import 导入,在这个文件中的所有类都可以使用。强调了辅助构造器的命名规则是this,并且可以通过参数的个数和类型来区分不同的辅助构造器。辅助构造器,函数的名称 this,可以有多个,编译器通过参数的个数及类型来区分。
2025-04-02 17:40:09
338
原创 Scala函数式编程
解决问题时,将问题分解成一个一个的步骤,将每个步骤进行封装(函数),通过调用这些封装好的步骤,解决问题。解决问题,分解对象,行为,属性,然后通过对象的关系以及行为的调用来解决问题。:如果一个函数,访问到了它的外部(局部)变量的值,那么这个函数和他所处的环境,称为闭包。x:表示输入参数类型;类型省略之后,发现只有一个参数,则圆括号可以省略;一个函数/方法在函数/方法体内又调用了本身,我们称之为递归调用。:把一个参数列表的多个参数,变成多个参数列表。参数的类型可以省略,会根据形参进行自动的推导。
2025-04-01 11:24:14
769
原创 Scala基本知识
来隔断逻辑for 推导式有一个不成文的约定:当 for 推导式仅包含单一表达式时使用圆括号, 当包含多个表达式时,一般每行一个表达式,并用花括号代替圆括号,如下。循环步长在for循环中设置步长,默认步长为1,可以通过指定步长来改变循环的取值间隔。基本语法for (i <- 1 to 10 by 2) { println("i=" + i)}说明:by 表示步长示例如下:需求:输出 1 到 10 以内的所有奇数。循环守卫的概念,通过足球守门员的比喻,说明了循环守卫的作用是控制循环的执行。
2025-03-31 17:51:29
260
原创 Scala基础总结
Scala基础语法1. 变量与常量val 定义常量(不可变)var 定义变量(可变)。示例 3. 集合操作不可变集合(默认):List、Map、Set等。reduce:聚合操作。Scala是一种多范式编程语言,融合了面向对象编程(OOP)与函数式编程(FP)的特性。Scholar中的变量与常量:在Scholar中如何使用VAR定义变量,使用VAL定义常量。数据类型指定:在Scholar中定义变量时可以指定数据类型,而定义常量时则不需要。Java(强类型)和JavaScript(弱类型)在变量定义上的差异。
2025-03-28 13:05:25
284
原创 Scala基础
Scala 是一门多范式(multi-paradigm)的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala 运行在 Java 虚拟机上,并兼容现有的 Java 程序。Scala 源代码被编译成 Java 字节码,所以它可以运行于 JVM 之上,并可以调用现有的 Java 类库。
2025-03-27 10:19:37
310
原创 U-net算法
深度监督(Deep Supervision):在解码器的多个子网络输出端计算损失,通过多任务学习提升训练稳定性,加速收敛。密集跳跃连接:引入类DenseNet的密集连接机制,在编码器与解码器间构建多层级特征融合路径,增强特征复用能力。统一特征维度:各层卷积输出固定为64通道,最终拼接所有层级特征(共5层,总通道数320),实现多粒度信息互补。特征拼接:取代传统特征叠加,将编码器各层的特征图与解码器对应层拼接,保留多尺度信息。高阶特征整合:利用上采样融合高层特征的全局语义信息(如大感受野特征)。
2025-03-21 11:47:55
318
原创 图像分割项目
Cityscape数据集:5000张精细标注的图像(2975张训练图、500张验证图和1525张测试图)、20000张粗略标注的图像。COCO数据集:共91类,以人类4岁小孩能够辨识为基准,其中82类有超过5000个instance。实例分割:只预测前景目标的类别属性以及边框,个体ID,每一个像素可以属于多个ID。VOC数据集:一共2913张图,1464张训练图片,1449张验证图片。人像抠图,医学组织提取,遥感图像分析,自动驾驶,材料图像等。反卷积输入2*2,输出4*4,卷积核3*3,
2025-03-20 10:37:03
293
原创 YOLO-V4
V4中用的是SAM , 也就是空间的注意力机制 不光NLP,语音识别领域在搞attention , CV中也一样。别一棒子全给打死 , 给个改过自新的机会Relu有点太绝对了 , M ish更符合实际。V4贡献:亲民政策 , 单GPU就能训练的非常好 , 接下来很多小模块都是这个出发点。并且还是一个捷径 , 红色的没准走个100层(Resnet) , 绿色的几层就到了。M 注意力机制 , 网络细节设计 ,特征金字塔等 , 你能想到的全有。V3中为了更好满足不同输入大小 , 训练的时候要改变输入数据的大小。
2025-03-14 11:22:23
257
原创 YOLO-V3
感受野大,检测大目标,感受野中,检测中目标,感受野小,检测小目标。终于到V3了,最大的改进就是网络结构,使其更适合小目标检测。特征做的更细致,融入多持续特征图信息来预测不同规格物体。先验框更丰富了,3种scale,每种3个规格,一共9种。YOLO-V2中选了5个,这回更多了,一共有9种。softmax改进,预测多标签任务。
2025-03-13 10:00:25
238
原创 YOLOV1和YOLOV2
很明显,堆叠小的卷积核所需的参数更少一些,并且卷积过程越多,特征提取也会越细致,加入的非线性变换也随着增多,还不会增大权重参数个数,这就是VGG网络的基本出发点,用小的卷积核来完成体特征提取操作。如果堆叠3个3*3的卷积层,并且保持滑动窗口步长为1,其感受野就是7*7的了,这跟一个使用7*7卷积核的结果是一样的,那为什么非要堆叠3个小卷积呢?感受野更大,特征提取更明显。V1训练时用的是224*224,测试时使用448*448可能导致模型水土不服,V2训练时额外又进行了10次448*448的微调。
2025-03-12 17:02:38
887
原创 目标检测项目
设定目标框的置信度阈值,常用的阈值是0.5左右根据置信度降序排列候选框列表选取置信度最高的框A添到输出列表,将其从候选框列表删除候选框列表中的所有框依次与A计算IoU,删除大于阈值的候选框重复上述过程,直到候选框列表为空,返回输出列表。COCO(JSON)格式:(Xmin, Ymin, W, H),其中x,y,w,h均不是归一化后的数值,分别代表左上角坐标和宽、高。VOC(XML)格式:(Xmin,Ymin,Xmax,Ymax)分别代表左上角和右下角的两个坐标。类别+真实边界框坐标(x,y,w,h)
2025-03-11 10:50:44
440
原创 图像分类识别任务项目汇报的总结感悟
构建模型,定义类,一般是卷积层,池化层,全连接层,再进行正向传播,定义损失,学习率,优化器。预处理数据:导包,对图像进行标准化,转化totensor格式,翻转,剪切等,加载数据。训练模型:获取训练数据,权重参数剃度清零,正向传播,显示损失值,最后查看预测后的结果。先需要获取数据,数据一般是爬取,或者下载开源数据,如自己获取工作量太大,不推荐。项目完成,但是还有不足的地方,说一下未来规划,未来展望。测试模型的准确度,预测正确/总体。将玫瑰的解释从百度上爬取。最后将团队成员分工写清楚。
2025-03-10 17:03:59
304
原创 手写数字识别项目
因图像是灰色的只有一个通道,如果有多个通道,需要有多个数字,如三个通道,应该是Normalize([m1,m2,m3], [n1,n2,n3])。定义Net 类,借助 Sequential 函数组合各网络层,包括线性层、批归一化层等,并在 forward 方法中定义数据前向传播流程,输出经 softmax 处理。动态修改参数学习率,可以不断改变学习率,学习率不能过大,过大将会错过最小的值,过小,速度太慢,所以进行动态修改✖️0.9,在不断减小以便取得最小值。
2025-03-06 11:26:28
265
原创 优化模型2
进行集成,对三个模型进行判断,图片与标签预测一样为正确,计数为1,进行累加,得到最后集成数据 准确值。要想集成提升性能:需要学习器之前要用差异性;学习器的准确率要高,得出结果才是可以提升性能。VGG16 VGG19的模型复杂 ,所以预测出来比集成预测出来准确度高,下面导入数据。进行网络搭建,卷积层,池化层,卷积层,池化层,全连接层等。对VGG16进行迭代测试,进行评估。
2025-03-05 17:23:23
143
原创 测试模型和优化模型
输出显示预测类别为“frog”、“dog”、“deer”和“horse”计算准确率 准确率是百分之66,不同的电脑可能结果不同。conv卷积层 pool池化层 使用全局平均池化层。将图像和标签移动,并使用训练好的模型对图像进行预测。使用了钩子函数,可以挂钩任何东西,先进行定义。加载测试数据集并显示部分图像的标签。将图像拼接成网格形式显示。一个linear全连接层。
2025-03-04 11:21:03
413
原创 构建网络和训练数据集
CIFAR-10数据集由10个类的60000个32x32彩色图像组成,每个类有6000个图像。有50000个训练图像和10000个测试图像。使用PyTorch实现CIFAR-10多分类任务的示例代码,CIFAR-10数据集包含10个不同类别的图像,如飞机、汽车、鸟类等。先进行数据预处理,再进行模型构建,再进行数据训练。数据集分为5个训练批次和1个测试批次,每个批次有10000个图像。训练批次以随机顺序选取剩余图像,但一些训练批次可能更多会选取来自一个类别的图像。#加载训练集和测试集并创建数据加载器。
2025-03-03 18:19:02
121
原创 图像分类识别
一般情况下,模型的精度越高,说明模型的效果越好。多类别分类模型各个类别之间的分类情况对于k分类问题,混淆矩阵为k*k的矩阵,元素Cij表示第i类样本被分类器判定为第j类的数量。主对角线的元素之和为正确分类的样本数,其余元素之和为错误分类的样本数。准确率(Precision):又称为查准率,表示在模型识别为正类的样本中,真正为正类的样本所占的比例。召回率(Recall):又称为查全率,表示模型正确识别出为正类的样本的数量占总的正类样本数量的比值。将不同的图像,划分到不同的类别标签,实现最小的分类误差。
2025-02-28 13:29:51
278
原创 Pytorch安装教程总结
之后输入y安装,如果出现上图,虚拟环境就创建成功,创建完虚拟环境进行激活,activate pytorch,进入pytorch虚拟环境中。安装成功点击Next,把finish上面两个勾去掉,点击finish就安装完成。如果你电脑有GPU,也就是显卡,可以下GPU版本,没有则下CPU版本。后面的cu121可以修改,改成比自己cuda版本小的就可以。版,过低了过高了可能会有不兼容的情况,推荐下这个版本。可以去C盘,用户,.condarc中删出一些通道。应用就可以了 ,进去看是否有版本号,就成功了。
2025-02-27 22:16:55
288
原创 Pytorch数据处理工具箱
2)调用相应的API接口,接口一般格式为:add_xxx(tag-name, object, iteration-number)#即add_xxx(标签,记录的对象,迭代次数)如果要对数据集进行多个操作,可通过Compose将这些操作像管道一样拼接起来,类似于nn.Sequential,nn.Sequential相当于容器,封装代码。conv卷积 ,drop随机丢失神经元,Linear全连接层,relu激活函数,softmax输出,解决分类问题,BatchNorm为批量归一。
2025-02-27 10:54:06
410
原创 Pytorch数据处理
数据集(torchvision.datasets):提供了MNIST、CIFAR10、ImageNet等多个常用数据集,封装在torch.utils.data.Dataset的子类中,方便读取和迭代,还支持自定义数据集创建。可视化工具(torchvision.utils):可将多个图像拼接成一个网格,以更好地观察生成的图像或模型预测的效果,还提供了一些函数,可以轻松绘制学习曲线和其他统计指标,帮助开发者分析模型训练过程中的表现。2.DataLoader:可以批量处理。DataLoader:可以批量处理。
2025-02-26 18:55:43
266
原创 继承nn.Module基类模型容器和自定义网络模块
另一种是为使输入与输出形状一致,需添加通过1×1卷积调整通道和分辨率,方便相加整合。forward正向传播,括号中的x与等号前面中的x平不相同。·组合这两个模块得到现代经典RetNet18网络结构。avgpool平均池化层。maxpool最大池化层。
2025-02-25 14:31:22
290
原创 Pytorch神经网络
用Module来构建模型 , flatten代表拉平成一维向量,linear代表全连接层,BatchNorm1d是批量归一,防止剃度爆炸,softmax代表输出,是分类问题,先进行变量定义,再进行构建,最后给变量说明并赋值。nn.functional中的函数,写法一般为nn.funtional.xxx,如nn.funtional.linear、nn.funtional.conv2d、nn.funtional.cross_entropy等。,括号中双引号进行命名,用逗号隔开调用的函数。
2025-02-24 16:30:34
352
原创 卷积网络中的架构总结
VGG19在卷积神经网络有更好的突破,但后面的VGG还就不如VGG19和VGG16的处理,ResNet的残差,解决了深度网络中准确率下降的问题,在网络加深方面的创新。第一步先进入卷积层,之后再进入池化层,进行平均池化,平均池化可以有效地减少计算量,再进入卷积层,后进入平均池化,最后进入全连接层,将特征进行总和。通过构建具有一定“深度”的模型,可以让模型来自动学习好的特征表示(从底层特征,到中层特征,再到高层特征),从而最终提升预测或识别的准确性。· 中层卷积核提取:条纹、纹路、形状等中层纹理特征。
2025-02-21 10:22:31
385
原创 卷积神经网络基础知识
R代表红色通道,G代表绿色通道,B代表蓝色通道,卷积核分别与被卷积层滑动计算,第一个输出结果为3,第二个和第三个为0,b为0,相加等于3,同理可得,其他数据也是这样计算得出,几个卷积核就输出会几个通道数据,可以得到几个图像。参数太多:处理图像时,参数量巨大,R G B通道像素数量多,导致计算复杂度高,例如使用 100 个神经元单隐含层的 MLP ,模型有 36 亿个参数远超过地球上的狗和猫的数量。0-255中,最大池化层表示越白 ,图像的高光,而平均池化层就是在颜色中取的平均值,和稀泥就是呈现灰色。
2025-02-20 10:44:27
317
原创 感知机与多层感知机基础知识
感知机的决策边界是一条直线,WX➕B=0,当WX➕B>0时,点在直线上方,当WX➕B≤0时,点在直线下方或直线上。学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。(3) 激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。将下列给出的w1,w2 ,b,x1,x2的点分别代入上图公式中,得出四个都满足与门的条件。感知机的基本公式为Y=WX➕B,其中W是权重,X是输入,B是偏置。
2025-02-19 17:28:10
528
原创 机器学习和深度学习的基础总结
设自变量为 x_1,x_2,\cdots,x_n(如 x_1 表示房屋面积,x_2 表示房龄等),因变量为 y(房价),线性回归模型的一般形式为:y = \beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_nx_n+\epsilon,其中 \beta_0 是截距项,\beta_1,\beta_2,\cdots,\beta_n 是回归系数,\epsilon 是误差项,代表了未被模型考虑到的其他影响房价的因素。公式 y=ax➕b,几个因素与a有关,因素占比越大a的占比越大,
2025-02-18 12:02:30
373
原创 人工智能与图像识别的基础总结
2 深度学习适用于复杂数据集,如R G B色彩多的图像识别,如果处理简单图像使用深度学习会带来弊端,造成过拟合,过拟合过度的学习会对图像判断错误,然而欠拟合没有经过复杂训练,欠拟合将图像识别分类判断正确,所以在简单数据集一般不使用深度学习。机器学习流程主要是: 1 数据集的选择和标注 2 模型的初始化和参数调整,使用学习算法优化模型,如判断西瓜的好坏,基于瓜的声音等,让模型进行西瓜特征与好坏的关系;数据拥有越多数据的时候,工作就越容易,更多的数据可以被用来训练出更强大的模型,从而减少对预先假设的依赖。
2025-02-17 17:53:32
230
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人