自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 问答 (1)
  • 收藏
  • 关注

原创 Day 52 神经网络调参指南

@浙大疏锦行今日任务:作业:对Day 41 的简单CNN 进行调参,看精度是否提高。在代码中很多操作都涉及到随机操作,如内参的随机初始化、数据加载(shuffle打乱)、数据增强操作(随机旋转、缩放等)、dropout等。为了保证每次运行程序时生成的随机数序列相同(实验结果的可重复性),需要设置随机种子。常见的随机种子有下面四种:内参的初始化回顾简单MLP的训练过程,由于权重通过反向传播来更新,很明显最开始的权重是认为设置的。那么关于参数的初始值,需要清楚它的区间、分布以及数值。当所有神经元的参数

2025-11-24 19:28:52 555

原创 Day 51 Vgg16+CBAM

使用4090训练,总共训练时间大约在38分钟,最终准确率在90.44%。可以看到存在过拟合,虽然不太严重。注:相较于resnet18,vgg16的结构、参数名都不同,需要对之前的代码做一定修改。使用vgg16模型+CBAM,同时采用阶段式训练。

2025-11-23 20:56:41 182

原创 Day 50 预训练模型 + CBAM 模块

理解Resnet18 的模型结构;尝试对 vgg16 + CBAM 进行微调策略。

2025-11-22 19:19:49 696

原创 Day 49 CBAM 注意力

尝试对今天的模型检查参数数目,并用tensorboard查看训练过程。

2025-11-21 21:10:04 712

原创 Day 48 随机函数与广播机制

今日任务:随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制(numpy也有广播机制)作业:自己多借助ai举几个例子帮助自己理解即可。

2025-11-20 10:36:48 786

原创 Day 47 注意力热图可视化

今日任务:通道注意力:模型的定义和插入的位置通道注意力后的特征图和热力图:对比不同卷积层热图可视化的结果通道注意力通道注意力是一种让网络能够的机制。它的核心思想:不同特征通道对当前任务的贡献不同,应该增强重要通道,抑制不重要通道。其中,是通道注意力的一种。(压缩)、(激励)、(缩放)。定义注意力模块这里以SE模块的定义为例:(1)Squeeze(3)Scale插入模型定义部分(常见顺序)。可视化空间注意力热图整体的思路与特征图可视化是类似的,这里选择对最后一个卷积层可视化。步骤。

2025-11-19 19:02:37 785

原创 Day 46 通道注意力(SE注意力)

今日任务:不同CNN层的特征图:不同通道的特征图什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。通道注意力:模型的定义和插入的位置通道注意力后的特征图和热力图作业:今日代码较多,理解逻辑即可。

2025-11-18 14:56:03 982

原创 Day 45 Tensorboard使用介绍

TensorBoard是TensorFlow生态中的可视化工具,也可集成PyTorch,用于实时监控训练过程、分析数据分布和对比实验结果。它通过网页端交互界面将训练日志转化为直观图表,实现动态可视化监控。本文介绍了TensorBoard的发展历史、工作原理及常见操作,包括记录标量数据、可视化模型结构、图像和权重梯度分布等。通过CIFAR-10数据集上的MLP和CNN模型实战演示了TensorBoard的应用,并布置了在ResNet18模型中监控微调训练过程的作业。最后总结了TensorBoard的操作要点和

2025-11-17 15:25:49 563

原创 Day 44 预训练模型

支持预训练参数加载,以及全连接层的修改# 4-定义ResNet18模型# 加载参数# 修改全连接层:输出类别数目in_features = model.fc.in_features # 获取最后一层的输入数目model.fc = nn.Linear(in_features=in_features,out_features=num_classes) # 修改输出类别数# 迁移模型model = model.to(device) # device为全局变量冻结与解冻逻辑的切换;

2025-11-15 18:26:36 864

原创 Day 43 复习日--Fashion Mnist数据集

Fashion-MNIST 是包含时尚图像的类似 MNIST 的数据集,由 60,000 个示例的训练集和 10,000 个示例的测试集组成。每个示例都是 28x28 的灰度图像,与 10 个类的标签相关联。Zalando 打算将 Fashion-MNIST 作为原始 MNIST 数据集的直接替代品,用于对机器学习算法进行基准测试。它共享相同的图像大小和训练和测试拆分结构。标注编号描述0T-shirt/top(T恤)1Trouser(裤子)2Pullover(套衫)3Dress(裙子)

2025-11-14 18:41:10 418

原创 简单CNN——作业(补充)

总共训练了15个epoch,结构为三层卷积层 + 两层全连接层。

2025-11-13 20:09:50 351

原创 Day 42 Grad-CAM与Hook函数

Grad-CAM(Gradient-weighted Class Activation Mapping,梯度加权类激活映射)是一种可视化技术,用于理解CNN模型在。register_forward_hook:在模块的前向传播完成后立即被调用 ,实现模块输入和输出的访问。根据位置,分为前向传播Hook和反向传播Hook。在pytorch中主要有两种hook:模块 hook 和 张量hook。lambda函数是一种没有正式名称的函数,特点是:用。register_hook:监听张量的梯度。

2025-11-13 13:44:15 805

原创 Day 41 简单CNN

数据预处理的加强版,之前在预处理阶段只采用了两个基本的操作(归一化和标准化)。实际上,可以通过对图像进行变换操作从而增加数据的多样性,也能让模型更加关注关键特征,而不是无关特征(如位置、色彩)。几何变换:如旋转、缩放、平移、剪裁、裁剪、翻转像素变换:如修改颜色、亮度、对比度、饱和度、色相、高斯模糊(模拟对焦失败)、增加噪声、马赛克语义增强(暂时不用):mixup,对图像进行结构性改造、cutout随机遮挡等数据增强不会改变数据量,而是通过变换后替换原数据。

2025-11-12 21:49:32 570

原创 Day 40 训练和测试的规范写法

(1)图像数据MLP的整个流程:训练和测试的逻辑(2)MLP在图像任务上的局限性图像中相邻像素通常具有强相关性(如边缘、纹理),但 MLP将所有像素视为独立特征,无法利用局部空间结构。深层 MLP 的参数规模呈指数级增长,容易过拟合Mnist数据集完整代码# 设置中文字体支持plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题# 设置随机种子# 1-预处理transforms.ToTensor(), # 归一化。

2025-11-11 15:40:01 589

原创 Day 39 图像数据与显存

结构化数据的形状是(样本数,特征数),而图像数据的形状是(通道数,高度,宽度)。0:通道数,如灰度图的取值为1(1个颜色通道),彩色图(RGB)取值为31:高度,图像的垂直像素数值2:宽度,图像的水平像素数值图像数据的MLP模型定义整体上与结构化数据的定义类似,但需要一个额外的步骤:将图像数据展平为一维向量的格式输入。这是因为MLP要求输入层是一维向量,而图像是二维结构。# 定义MLP——黑白图像self.flatten = nn.Flatten() # 将28x28的图像展平为784维向量。

2025-11-10 14:26:59 697

原创 Day 38 Dataset和Dataloader类

初始化:加载文件列表、标签、设置 transforms 等__len__:返回数据集总样本数__getitem__:根据 idx 加载并返回一个样本self.img_labels = pd.read_csv(annotations_file) # CSV文件路径,包含图片文件名和标签self.img_dir = img_dir # 包含所有图片的目录路径self.transform = transform # 变换函数,应用于样本(如图像预处理、数据增强)。

2025-11-09 11:31:11 821

原创 Day 37 早停策略和模型权重的保存

今日任务:过拟合的判断:测试集和训练集同步打印指标模型的保存和加载仅保存权重;保存权重和模型;保存全部信息checkpoint,还包含训练状态;早停策略作业:对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略模型的保存与加载在深度学习中,模型保存与加载主要涉及和整个的存储,同时需兼顾(如优化器参数、轮次等)以支持。在pytorch中使用。

2025-11-08 20:38:50 954

原创 Day 36 复习日

作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。

2025-11-07 16:01:55 324

原创 Day 35 模型可视化与推理

今日任务:三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式作业:调整模型定义时的超参数,对比下效果。

2025-11-06 19:06:51 774

原创 Day 34 GPU训练及类的call方法

PyTorch 中。

2025-11-05 15:11:15 1035

原创 Day 33 MLP神经网络的训练

输入和输出层使用的是。

2025-11-04 20:40:04 979

原创 Day 32 官方文档的阅读

今日任务:官方文档的检索方式:github和官网官方文档的阅读和使用:要求安装的包和文档为同一个版本类的关注点:实例化所需要的参数;普通方法所需要的参数;普通方法的返回值绘图的理解:对底层库的调用在day 30 中提到,阅读库的是了解和学习该库的一个好方法。对于大多数的python库都有官方文档,获取的方式有以下几种:(1)GitHub仓库(2)(3)搜索引擎搜索库名以pdpbox为例,在PyPI网站上搜索‘PDPbox’后,就会找到官方文档的链接:点击链接,进入文档。

2025-11-03 14:13:59 629

原创 Day 31 文件的规范拆分和写法

今天的项目拆分步骤,思路如下。如果只是简单的拆分,那么只需要将之前的ipynb文件直接按步骤拆分到一个py文件里,命名一个函数(类),再Import到主文件调用就可以了。但困难地是,如何将这些属于某个数据集的特定代码通过参数调整、条件判断等方式变成一个可以复用到其它数据集的通用模块。

2025-11-02 21:30:55 696

原创 Day 30 模块和库的导入

另外创建一个'main.py'作为主要的运行文件。根据 main.py 和 circle.py 的文件位置,导入模块的方式和在终端运行的方法存在差异。在此之前,先明确‘根目录’,通常是打开的项目文件夹位置,在导入模块式,会从根目录开始查找。

2025-11-01 15:17:36 694

原创 Day 29 复习日:类的装饰器

对于函数、类和装饰器,离不开‘封装将重复性的东西,整合到一起,从而便于后续的复用。从函数作为基础,而类可以说是对函数的再封装。对于装饰器,则是另一种意义上的函数封装,即在普通之外的扩展,‘装饰’。

2025-10-31 12:42:51 346

原创 Day 28 类的定义和方法

对类进行定义时,使用classclass ClassName: #类名通常遵循大驼峰命名法 (UpperCamelCase),即每个单词的首字母都大写"""类的文档字符串"""# 类的内容pass #pass 为占位符,避免运行错误Python通过缩进定义代码块的结构,对于def,class,if等,如果后续代码块为空,那么就会因为无法确定结构的范围而抛出IndentationError。pass本身不执行任何操作,但它可以起到一个占位置的作用。

2025-10-30 19:50:53 907

原创 Day 27 函数专题2:装饰器

今日任务:装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值。

2025-10-29 20:02:28 859

原创 Day 26 函数专题1:函数定义与参数

在前面提到过,对于一些可重复的代码,可以使用函数的方法将其进行封装,从而实现特定功能。关于函数的定义,使用的是defprint('我是XXX!')def greet(name): #函数的名称,参数"""这是一个问候函数""" #注释说明#函数主体")return f"Greeted {name} successfully" #返回值result = greet("Alice") #调用函数函数的名称:命名规则与变量的命名相同参数:即‘()’,可以没有参数填入,但必须有括号。

2025-10-28 21:12:14 633

原创 Day 25 异常处理

今日任务:异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制检查自己过去借助ai写的代码是否带有try-except机制,可以在以后尝试加入这种写法NameError"2" + 2ValueErrorint("abc")IndexError这个时候,遇到错误,一般选择的是复制给AI,让AI帮助分析、解决。这个方法虽然快速,但是对于个人能力的提升实在太小。因此,学会自己看懂错误类型,并且处理异常是十分必要的。

2025-10-27 20:54:06 737

原创 Day 24 元组和OS模块

今日任务:认识元组,掌握基本操作可迭代对象,遍历操作os模块,如os.walk()遍历目录树对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。

2025-10-26 20:25:23 881

原创 Day 23 机器学习管道 pipeline

今日任务:转化器和估计器的概念管道工程ColumnTransformer和Pipeline类Pipeline,直译为管道,实际上也可以翻译为流水线。通过前面的学习可以发现,对于每一次的操作,基本有些步骤是固定的,每次重新写代码有点浪费时间。因而想到了函数中的封装思想,将可复用的代码封装到一起,便于下次使用,在这里就是用pipeline构建一个完整的机器学习流水线。

2025-10-25 21:51:10 771

原创 Day 22 复习日——泰坦尼克号人员生还预测

自行学习参考如何使用kaggle平台,写下使用注意点,对“泰坦尼克号人员生还预测”提交代码。

2025-10-24 21:29:02 474

原创 Day 21 常见的降维算法

今日任务:LDA线性判别PCA主成分分析t-sne降维自由作业:探索下什么时候用到降维?降维的主要应用?或者让ai给你出题,群里的同学互相学习下。可以考虑对比下在某些特定数据集上t-sne的可视化和pca可视化的区别。在day 20 学习了SVD,在今天需要学习另外三种常见的降维算法:LDA线性判别、PCA主成分分析及t-sne降维。

2025-10-22 21:53:42 554

原创 Day 20 奇异值SVD分解

奇异值分解(Singular Value Decomposition,SVD),它的核心思想是:对于任意一个m × n的实数矩阵A,无论它是否是方阵,无论它是否可逆,都可以将它分解为三个特别简单、特别有意义的矩阵的乘积。用具体的公式表达就是左奇异向量矩阵。m × m的正交矩阵,列向量是矩阵的特征向量。奇异值矩阵。m × n的“对角矩阵”,主对角线上的元素为奇异值,降序排列且非负。右奇异向量矩阵。n × n的正交矩阵V的转置,列向量是矩阵的特征向量下面说明SVD的几何意义。

2025-10-19 20:50:51 610

原创 Day 19 常见的特征筛选算法(续)

在昨天的学习中,了解了常见的特征筛选方法中的四种:方差筛选、皮尔逊系数筛选、Lasso筛选以及树模型自带的重要性筛选。今日将接着学习剩下的SHAP重要性筛选以及RFE筛选,并对心脏数据集实践特征筛选的过程。

2025-10-19 13:04:01 643

原创 Day 19 常见的特征筛选算法

今日任务:方差筛选皮尔逊相关系数筛选lasso筛选树模型重要性shap重要性递归特征消除REF作业:对心脏病数据集完成特征筛选,对比精度对于许多数据来说,它们拥有众多的特征,如果不进行处理,就会出现计算速度下降以及冗余特征的干扰等问题。因此,对于高维特征的数据,十分必要。今日主要学习特征筛选,它适合于不相关特征、冗余特征和噪声特征的处理。

2025-10-18 22:30:16 1019

原创 Day 18 推断聚类后簇的类型

今日任务:推断簇含义的2个思路:先选特征和后选特征通过可视化图形借助ai定义簇的含义通过精度判断特征工程价值参考示例代码对心脏病数据集采取类似操作,并且评估特征工程后模型效果有无提升。在Day 17 的学习中,了解了三种聚类算法的使用。但是如果仅得到聚类后的结果而不赋予实际含义,那么聚类将毫无意义。聚类回答了“是什么”的问题,而给聚类标签则解决“为什么”的问题。在赋予实际意义之前,需要有特定的特征,但是这个特征如何确定?目前常用的思路有两种,分别是和在实际使用的过程中,可以将两种思路。

2025-10-17 21:13:01 639

原创 Day 17 常见聚类算法

今日任务:聚类的指标聚类常见算法:kmeans聚类、dbscan聚类、层次聚类三种算法对应的流程对心脏病数据集进行聚类。与回归、分类问题不同,聚类属于无监督算法,也就是只有特征而没有标签。聚类常用来发现数据中的模式,并对每一个聚类特征进行可视化操作,以此得到新的特征(赋予实际含义)。

2025-10-15 18:03:08 798

原创 DAY 16 Numpy 数组的常见操作及形状

今日任务:numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引:一维、二维、三维SHAP值的深入理解。

2025-10-13 21:36:03 1005

原创 Day 15 复习日——自选数据集

今日任务:尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目。今天主要是将之前所学的内容进行回顾,自己选择一个数据集将机器学习的完整流程进行实践。选择数据总共219行,17列。下面是列的说明:列名含义教育部门(8个类别)个人项目Yes/NoAge学生年龄17-26Gender学生性别City是否在城市Yes/NoInfluenced影响Yes/No毅力(1,2,3,4,5积极主动的愿望(1,2,3,4,5竞争力(

2025-10-12 19:12:35 841

空空如也

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

TA关注的人

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