自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python打卡训练营打卡记录day51

加载预训练ResNet18# 构建特征提取器,在每个残差块阶段后插入CBAM模块resnet.layer1, # 输出通道64CBAM(64), # CBAM模块(64通道)resnet.layer2, # 输出通道128CBAM(128), # CBAM模块(128通道)resnet.layer3, # 输出通道256CBAM(256), # CBAM模块(256通道)resnet.layer4, # 输出通道512CBAM(512) # CBAM模块(512通道)

2025-06-12 01:33:07 828

原创 python打卡训练营打卡记录day50

最终测试准确率: 73.41%尝试对vgg16+cbam进行微调策略。好好理解下resnet18的模型结构。针对预训练模型的训练策略。CBAM放置位置的思考。resnet结构解析。

2025-06-10 23:38:25 403

原创 python打卡训练营打卡记录day49

尝试对今天的模型检查参数数目,并用tensorboard查看训练过程。模型已保存为: cifar10_cbam_cnn_model.pth。最终测试准确率: 85.85%

2025-06-09 21:28:27 517

原创 python打卡训练营打卡记录day48

核心价值:避免不必要的内存复制,提升计算效率触发场景:所有逐元素操作(+, -, *, / 等)应用场景:归一化操作(张量 ± 标量)特征图与偏置项相加不同维度的张量运算@浙大疏锦行。

2025-06-08 21:10:49 566

原创 python打卡训练营打卡记录day47

这个注意力热图是通过构子机制: `register_forward_hook` 捕获最后一个卷积层(`conv3`)的输出特征图。若热力图错误聚焦背景(如红色区域在无关物体上),可能表示模型过拟合或训练不足。热力图(红色表示高关注,蓝色表示低关注)半透明覆盖在原图上。通道1可能关注整体轮廓,通道2关注纹理细节,通道3关注颜色分布。检查模型是否关注正确区域(如识别狗时,是否聚焦狗而非背景)。:对特征图的每个通道进行全局平均池化,得到通道重要性权重。结合多个通道的热力图,可全面理解模型的决策逻辑。

2025-06-07 19:31:46 517

原创 python打卡训练营打卡记录day46

===================== 新增:通道注意力模块(SE模块) ====================="""通道注意力模块(Squeeze-and-Excitation)""""""参数:in_channels: 输入特征图的通道数reduction_ratio: 降维比例,用于减少参数量"""# 全局平均池化 - 将空间维度压缩为1x1,保留通道信息# 全连接层 + 激活函数,用于学习通道间的依赖关系# 降维:压缩通道数,减少计算量# 升维:恢复原始通道数。

2025-06-06 23:08:09 1201

原创 python打卡训练营打卡记录day45

对resnet18在cifar10上采用微调策略下,用tensorboard监控训练过程。tensorboard在cifar上的实战:MLP和CNN模型。tensorboard的发展历史和原理。tensorboard的常见操作。

2025-06-05 21:58:46 702

原创 python打卡训练营打卡记录day44

复合缩放(宽度、深度、分辨率均衡调整)在 ImageNet 上学习的全局特征(如大尺寸图像的语义信息)迁移到 CIFAR10 时,需更多 epoch 适配小尺寸(图 2 中准确率上升平缓),但轻量化设计(如 MBConv 模块)减少了过拟合风险。过拟合极低(训练 - 测试差距 < 1%),参数量少(训练速度快 30%+),适合资源受限环境或需要泛化性的任务(如小数据 + 实时推理)。测试准确率略高(+0.77%),训练拟合能力强,适合对精度要求高、允许轻度过拟合的场景(如 CIFAR10 竞赛级优化)。

2025-06-04 20:02:44 1059

原创 python打卡训练营打卡记录day43

卷积块1# 卷积块2# 卷积块3# 全连接层self.fc1 = nn.Linear(128 * 28 * 28, 512) # 计算方式:224->112->56->28(三次池化后尺寸)self.fc2 = nn.Linear(512, num_classes) # 输出5个类别x = x.view(x.size(0), -1) # 展平特征图return x# 初始化模型并移至设备性能飞跃。

2025-06-02 22:31:54 1733

原创 python打卡训练营打卡记录day42

从回调到装饰器的思维升级**1.

2025-06-01 20:05:52 1101

原创 python打卡训练营打卡记录day41

修改后 Iteration 损失波动减小(图 3 vs 图 1),训练过程更稳定,减少了 Batch 级噪声干扰。

2025-05-31 21:05:05 911

原创 python打卡训练营打卡记录day40

知识点回顾:彩色和灰度图片测试和训练的规范写法:封装在函数中展平操作:除第一个维度batchsize外全部展平dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout作业:仔细学习下测试和训练代码的逻辑,这是基础,这个代码框架后续会一直沿用,后续的重点慢慢就是转向模型定义阶段了。昨天我们介绍了图像数据的格式以及模型定义的过程,发现和之前结构化数据的略有不同,主要差异体现在2处:1. 模型定义的时候需要展平图像。

2025-05-30 22:14:26 1063

原创 python打卡训练营打卡记录day39

昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)# 先继续之前的代码from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具。

2025-05-29 22:41:10 965

原创 Python打卡训练营打卡记录day38

Dataset类的__getitem__和__len__方法(本质是python的特殊方法)了解下cifar数据集,尝试获取其中一张图片。minist手写数据集的了解。Dataloader类。

2025-05-27 21:09:04 295

原创 python打卡训练营打卡记录day37

一、初始训练阶段分析(20000轮)1. 损失曲线表现训练损失:从约0.60稳步下降至0.46,说明模型在训练集上持续优化。测试损失:从0.58下降至0.47,但下降幅度较小,且在训练后期趋于稳定。关键问题训练损失和测试损失的差距较小(0.46 vs 0.47),表明模型未明显过拟合,但学习能力可能不足。测试损失未进一步下降,可能是模型复杂度过低或数据特征难以捕捉。2. 准确率曲线表现测试准确率:最终稳定在76.93%,未突破77%。关键问题。

2025-05-26 22:29:39 851

原创 python打卡训练营打卡记录day36

损失曲线显示前 5 epoch 快速收敛(从 0.62→0.48),后期缓慢下降,早停避免了冗余计算,符合小模型快速收敛的特性。由于引入了早停机制,训练进度只有29/20000,考虑到训练时间可能过短,所以进行优化。尝试了增加网络深度、平衡类别权重、调整学习率、梯度裁剪、动态早停阈值、添加L2正则化等多种方法,但这些方法无一例外出现训练时间延长,准确率反而下降的问题。对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。这说明在深度学习中,

2025-05-25 22:16:05 640

原创 python打卡训练营打卡记录day35

损失曲线特征:从1.0平稳下降至接近0,无震荡分析符合预期:ReLU激活+SGD优化器的标准收敛行为20000轮训练充分,最终损失接近零(测试准确率100%)典型成功训练案例,模型容量与数据复杂度匹配。

2025-05-24 22:19:47 1351

原创 python打卡训练营打卡记录day34

知识点回归CPU性能的查看看架构代际核心数线程数GPU性能的查看看显存看级别看架构代际GPU训练的方法数据和模型移动到GPUdevice上类的call方法为什么定义前向传播时可以直接写作self.fc1(x)作业:复习今天的内容,在巩固下代码。思考下为什么会出现这个问题。检查CUDA是否可用。

2025-05-23 20:24:15 1276

原创 python打卡训练营打卡记录day33

1. 分类任务中,若标签是整数(如 0/1/2 类别),需转为long类型(对应 PyTorch 的torch.long),否则交叉熵损失函数会报错。2. 回归任务中,标签需转为float类型(如torch.float32)。(归一化、转换成张量)继承nn.Module。

2025-05-22 23:26:27 293

原创 python打卡训练营打卡记录day32

【代码】python打卡训练营打卡记录day32。

2025-05-21 22:45:20 736

原创 python打卡训练营打卡记录day31

知识点回顾规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解作业:尝试针对之前的心脏病项目ipynb,将他按照今天的示例项目整理成规范的形式,思考下哪些部分可以未来复用。心脏病项目目录。

2025-05-20 23:01:23 690

原创 python打卡训练营打卡记录day30

模块(Module)本质:以 py 结尾的单个文件,包含Python代码(函数、类、变量等)。作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。包(Package)在python里,包就是库本质:有层次的文件目录结构(即文件夹),用于组织多个模块和子包。核心特征:包的根目录下必须包含一个 __init__.py 文件(可以为空),用于标识该目录是一个包。

2025-05-19 20:24:29 908 1

原创 python打卡训练营打卡记录day29

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。2. 在类定义外部定义方法,然后把方法赋值给类的属性---这是一种动态方法,常在装饰器中使用,可以再外部修改类的方法。类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。

2025-05-18 19:40:55 572

原创 python打卡训练营打卡记录day28

知识点回顾:类的定义pass占位语句类的初始化方法类的普通方法类的继承:属性的继承、方法的继承作业题目1:定义圆(Circle)类要求:1.包含属性:半径 radius。2.包含方法:calculate_area():计算圆的面积(公式:πr²)。calculate_circumference():计算圆的周长(公式:2πr)。3.初始化时需传入半径,默认值为 1。题目2:定义长方形(Rectangle)类1.包含属性:长 length、宽 width。

2025-05-17 21:12:57 416

原创 python打卡训练营打卡记录day27

昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个@xxx,它就是装饰器装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。--本质是如果让一个函数具备太多功能,那么他看起来就会比较乱,可读性比较差,如果把其中一部分相同甚至可以复用的功能用一个新的函数来调用,然后让2个函数同时实现,就会做到1. 进一步封装了函数的一些用法,做到dry原则(don't repeat yourself)

2025-05-16 21:30:07 1399

原创 python打卡训练营打卡记录day26

编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。函数的参数类型:位置参数、默认参数、不定参数。user_id 是一个必需的位置参数。

2025-05-15 21:02:43 951

原创 python打卡训练营打卡记录day25

Python的异常处理机制为程序提供了强大的容错能力 (fault tolerance)。当程序在运行时遇到意外情况(即异常),它不会直接崩溃,而是可以被设计成优雅地处理这些错误,并可能继续执行后续逻辑(如果设计允许)或以可控的方式结束。当异常发生时,Python会创建一个异常对象 (exception object)(通常是 Exception 类的子类实例)。如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。

2025-05-14 20:39:43 1150

原创 python打卡训练营打卡记录day24

元组的特点:1. 有序,可以重复,这一点和列表一样2. 元组中的元素不能修改,这一点非常重要,深度学习场景中很多参数、形状定义好了确保后续不能被修改。很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求。

2025-05-13 21:41:43 1175

原创 python打卡训练营打卡记录day23

--- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意# 这里的类别顺序需要和你之前映射的顺序一致。

2025-05-12 21:12:38 493

原创 python打卡训练营打卡记录day22

核心影响特征Sex(性别)是决定生存概率的最关键因素,女性更易生存;Fare(票价)高、Age(年龄)小也显著促进生存。客舱等级矛盾Pclass高(舱位等级低,如 3 级舱)反而可能抑制生存,与常识中 “高舱位更易生存” 看似矛盾,需结合数据具体分布进一步验证(如高舱位是否有更多特殊情况)。家庭关系影响弱SibSp(兄弟姐妹 / 配偶数)、Parch(父母 / 子女数)对生存影响较小,仅在特定值时表现出一定规律。@浙大疏锦行。

2025-05-11 23:57:25 1262

原创 python打卡训练营打卡记录day21

知识点回顾:LDA线性判别PCA主成分分析t-sne降维还有一些其他的降维方式,也就是最重要的词向量的加工,我们未来再说作业:自由作业:探索下什么时候用到降维?降维的主要应用?或者让ai给你出题,群里的同学互相学习下。可以考虑对比下在某些特定数据集上t-sne的可视化和pca可视化的区别。

2025-05-10 21:52:16 443

原创 python打卡训练营打卡记录day20

SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。:在进行 SVD 之前,通常需要对数据进行标准化(均值为 0,方差为 1),以避免某些特征的量纲差异对降维结果的影响。,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。:通常噪声对应较小的奇异值。(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵)保留 k=10 后的 Vt_k 矩阵形状: (10, 13)

2025-05-09 20:50:35 540

原创 python打卡训练营打卡记录day19

常见的特征筛选算法方差筛选皮尔逊相关系数筛选lasso筛选树模型重要性shap重要性递归特征消除REF作业:对心脏病数据集完成特征筛选,对比精度。

2025-05-08 21:14:34 445

原创 python打卡训练营打卡记录day18

稳定性:前 5 大特征保持一致(仅顺序变化),说明模型的核心判别逻辑未变,聚类特征更多是对原始特征的 “再组织” 而非引入全新信息。AUC 的提升:说明聚类特征增强了模型对正负样本的排序能力,尤其在阈值敏感场景(如需要调整决策边界)中可能更稳健。exang:部分人群出现运动诱发心绞痛(exang=1 有一定比例),心脏对运动的反应存在个体差异。thalach:最大心率相对较低,集中在 80–140 区间,表明心脏在运动中的负荷较低。定义:该簇人群心脏健康风险高,可能存在较严重的心脏病变,需及时医学干预。

2025-05-07 22:11:02 1503

原创 python打卡训练营打卡记录day17

实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。DBSCAN 的参数是 eps 和min_samples,选完他们出现k和评估指标。除了经典的评估指标,还需要关注聚类出来每个簇对应的样本个数,避免太少没有意义。2.聚类常见算法:kmeans聚类、dbscan聚类、层次聚类。KMeans 和层次聚类的参数是K值,选完k指标就确定。以及层次聚类的 linkage准则等都需要仔细调优。2.选择合适的算法,根据评估指标调参()

2025-05-06 21:32:11 655

原创 python打卡训练营打卡记录day16

NumPy 数组的维度 (Dimension) 或称为 轴 (Axis) 的概念,与我们日常理解的维度非常相似。直观判断: 数组的维度层数通常可以通过打印输出时**中括号 `[]` 的嵌套层数**来初步确定:一层 [ ]: 一维 (1D) 数组。两层 [ ]: 二维 (2D) 数组。三层 [ ]: 三维 (3D) 数组,依此类推。

2025-05-05 19:43:31 1473

原创 python打卡训练营打卡记录day15

可以看到三个模型训练结果都不理想,原因是该数据集是不平衡数据集,0和1相差过多,考虑使用smote过采样,三个模型中XGBoost表现相对较好,选择这个模型继续训练。训练集形状: (16000, 10), 测试集形状: (4000, 10)

2025-05-04 22:41:51 176

原创 python打卡训练营打卡记录day14

作业:1.参考上述文档补全剩余的几个图2.尝试确定一下shap各个绘图函数对于每一个参数的尺寸要求,如shap.force_plot力图中的数据需要满足什么形状?3.确定分类问题和回归问题的数据如何才能满足尺寸,分类采取信贷数据集,回归采取单车数据集。

2025-05-03 23:32:51 236

原创 python打卡训练营打卡记录day13

知识点复习1.不平衡数据集的处理策略:过采样、修改权重、修改阈值2.交叉验证代码作业:从示例代码可以看到 效果没有变好,所以很多步骤都是理想是好的,但是现实并不一定可以变好。这个实验仍然有改进空间,如下。1. 我还没做smote+过采样+修改权重的组合策略,有可能一起做会变好。2. 我还没有调参,有可能调参后再取上述策略可能会变好针对上面这2个探索路径,继续尝试下去,看看是否符合猜测。

2025-05-02 23:38:51 586

原创 python打卡训练营打卡记录day12

1.三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法2.学习优化算法的思路作业:尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。

2025-05-01 21:45:16 471

空空如也

空空如也

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

TA关注的人

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