自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

浙大疏锦行知识点回顾:resnet结构解析CBAM放置位置的思考针对预训练模型的训练策略差异化学习率三阶段微调作业:好好理解下resnet18的模型结构尝试对vgg16+cbam进行微调策略可以将ResNet-18想象成一个高效的“图像信息处理流水线”,它分为:一个大的7x7卷积层 (conv1) + 一个最大池化层 (maxpool:对输入的原始大尺寸图像(如224x224)进行一次快速、大刀阔斧的特征提取和尺寸压缩。

2025-07-05 21:02:39 894

原创 DAY 49 CBAM注意力

通过这个输出,您可以清晰地看到加入CBAM模块后,总参数量比普通CNN略有增加,但增加幅度很小,证明了其轻量级的特性。:每个epoch结束后,记录模型所有层权重的分布情况。:这会在训练开始前,在您的终端打印出模型的详细结构、每一层的输出形状、以及。),以及学习率的变化。:记录训练/测试的损失和准确率,以及学习率。在主执行流程中,初始化模型后,立刻使用。),确保每次实验的日志都独立保存。:记录了模型的网络结构,您可以在。),可以观察到最细微的训练波动。来打印模型的详细参数信息。:定期记录权重和梯度的分布。

2025-07-04 21:18:52 832

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

这是PyTorch进行高效、简洁的向量化运算的“魔法”,让我们能轻松地在不同形状的数据之间进行计算。创建一个符合输入要求的虚拟张量,让它“走”一遍我们定义的网络,并打印出每一层之后的。“复制”三遍,形成一个与A形状完全相同的3x3矩阵,然后进行逐元素的相加。:我们可以用它来模拟一个批次的数据,然后送入我们刚定义的网络层,→ 生成一个5个元素的一维向量(比如,一个样本的5个特征)。的输入,经过一个2x2的池化层后,高和宽都减半,变为。的输入,经过一个输出通道为16的卷积层后,变为。

2025-07-03 17:03:42 937

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

这一层的热图通常不会精确地聚焦在某个特定的物体部件上,因为它还不具备“这是车灯”或“这是车轮”这样的高级概念。对于汽车,热区很可能会集中在整个车身的主体,特别是那些最能代表“汽车”这一概念的区域(如独特的车头或车身轮廓),而会忽略背景、地面等无关信息。:这张热图最能代表模型“内心”的想法。对于汽车这张图,热区可能会广泛分布在车轮、车窗边缘、车身轮廓等所有有明显线条和纹理的地方。提取出的基础线条和纹理,组合成了更有辨识度的部件,比如“圆形的轮胎”、“方形的车窗”等。:这一层的热力图通常会最。

2025-07-02 21:59:48 281

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

对于一张彩色图片(R, G, B三个通道),如果我们要识别一个红色的苹果,那么“红色”这个通道的重要性就应该远大于“绿色”和“蓝色”。:通过全局平均池化,将每个特征图(代表一个通道)的全部空间信息压缩成一个单一的数值,这个数值代表了这个通道的“整体响应强度”。学过的Hook技术,像安插“摄像头”一样,在不改变模型代码的情况下,捕获模型在处理某张图片时,中间卷积层的输出(即特征图)。:我们的大脑开始将基础的线条和色块组合起来,识别出一些局部但有意义的部件,比如“这是一个圆圈”、“这是一片羽毛”。

2025-07-01 10:08:00 870

原创 DAY 45 Tensorboard使用介绍

中,代码逻辑非常清晰:设置参数 -> 初始化TensorBoard写入器 -> 准备数据 -> 创建模型 -> 调用总控函数开始训练 -> 结束并关闭写入器。:创建一个总控函数,封装了完整的“冻结-解冻”训练循环,并在其中集成了TensorBoard的各种日志记录功能。:使用了ImageNet数据集的标准化均值和标准差,这是使用在ImageNet上预训练的模型的。:创建TensorBoard的写入器,并自动处理日志目录,避免覆盖。的CIFAR-10图像,但为了更好地利用预训练权重,一个常见的做法是。

2025-06-30 20:57:29 848

原创 DAY 44 预训练模型

浙大疏锦行知识点回顾:预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战:resnet18作业:尝试在cifar10对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同尝试通过ctrl进入resnet的内部,观察残差究竟是什么:与预期一致,ResNet18(82.20%) 在最终精度上表现更优,显著超过了(78.89%)。:这完全符合模型的定位。ResNet。

2025-06-27 15:13:15 1236

原创 DAY 43 复习日

浙大疏锦行。

2025-06-26 23:35:34 2307

原创 DAY 42 Grad-CAM与Hook函数

我们给他一张图片(食材),他能准确地告诉我们这是“猫”还是“狗”(菜品),但我们不知道他是根据图片的哪个部分(猫的耳朵?这个“不知道”的过程就是**“黑盒”**。它是一个我们预先写好的函数(一份“工作手册”),然后把它作为参数传递给另一个主函数(注册Hook的过程)。为了实现Grad-CAM,我们不能修改模型(大厨)的内部代码(烹饪流程),但又需要在他工作的关键节点(例如,刚用特殊酱料腌制完食材时)获取信息。),因为这里的特征图包含了更高级、更抽象的语义信息(比如“猫的轮廓”而不是简单的“边缘”)。

2025-06-25 20:21:14 734

原创 DAY 41 简单CNN

Flatten -> Dense (with Dropout,可选) -> Dense (Output)1. 输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层。尝试手动修改下不同的调度器和CNN的结构,观察训练的差异。batch归一化:调整一个批次的分布,常用与图像数据。特征图:只有卷积操作输出的才叫特征图。调度器:直接修改基础学习率。卷积神经网络定义的写法。

2025-06-24 22:18:47 823

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

这套代码框架是PyTorch深度学习项目的基石,理解了它,未来接触任何复杂的模型和任务,其核心训练逻辑都是万变不离其宗的。”的循环框架,是深度学习项目中最核心、最通用的代码结构。掌握了它,就掌握了驱动所有复杂模型进行学习和评估的“引擎”。:仔细学习下测试和训练代码的逻辑,这是基础,这个代码框架后续会一直沿用,后续的重点慢慢就是转向模型定义阶段了。) 则扮演**“教务处”**的角色,负责安排学期总数 (彩色和灰度图片测试和训练的规范写法:封装在函数中。),并协调“训练”和“测试”的进行。

2025-06-23 21:32:43 1045

原创 DAY 39 图像数据与显存

一张图片不仅有像素值,还有这些像素在二维空间中的位置关系。因此,它不能被简单地看作一维向量,而是用一个三维或更高维的。我们之前用于处理表格数据的MLP(多层感知机)模型需要做一些调整才能处理图像。为了让模型能“读懂”这些图像,我们需要进行预处理。,找到一个既能充分利用显存、又不会导致OOM的最佳值。最后,因为数据量和模型变大,我们引入了。:我们处理的表格数据,每个样本是一行,可以看作一个。,也就是我们之前遇到的“内核死亡”的最终原因之一。,从而解决了显存占用的核心问题。(通道, 高, 宽)

2025-06-22 14:20:51 1109

原创 DAY 38 Dataset和Dataloader类

浙大疏锦行知识点回顾:Dataset类的__getitem__和__len__方法(本质是python的特殊方法)Dataloader类minist手写数据集的了解作业:了解下cifar数据集,尝试获取其中一张图片在此处运行时,DL内核崩溃如何根据测试结果做决断:从一个能正常运行的最小化版本开始,逐步添加回您的原始代码,看在哪一步会崩溃。“最小崩溃测试”成功运行是一个非常关键的诊断结果。DL。

2025-06-21 19:29:36 1066

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

对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略。保存全部信息checkpoint,还包含训练状态。过拟合的判断:测试集和训练集同步打印指标。

2025-06-20 22:52:15 789 1

原创 DAY 36 复习日

对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。:尝试进入nn.Module中,查看他的方法。探索性作业(随意完成)

2025-06-19 11:13:12 519

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

它们决定了模型的“骨架”和学习方式。与之相对的是模型在训练过程中自己学习的参数(如权重。三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化。进度条功能:手动和自动写法,让打印结果更加美观。作业:调整模型定义时的超参数,对比下效果。这里的“超参数”指的是。推理的写法:评估模式。模型,我们可以调整的。

2025-06-18 17:53:58 1350

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

GPU的优势在于处理大规模的并行计算任务。当您的数据集非常大(成千上万甚至数百万样本),或者您的神经网络非常深、非常宽(包含大量矩阵乘法)时,GPU工厂的“规模效应”才能显现出来。这时,它在计算上节省的时间将远远超过数据传输的开销。对于小数据集和浅层网络(如本例),使用CPU通常更快、更直接,因为它避免了昂贵的数据传输。并非所有任务都适合用GPU加速,需要根据任务的计算复杂度和数据规模来权据。t=P4F5@浙大疏锦行https://blog.csdn.net/weixin_45655710。

2025-06-17 20:48:52 755

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

查看显卡信息的命令行命令(cmd中使用)数据预处理(归一化、转换成张量)PyTorch和cuda的安装。继承nn.Module类。定义损失函数和优化器。

2025-06-16 19:07:20 301

原创 DAY 32 官方文档的阅读

参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。官方文档的阅读和使用:要求安装的包和文档为同一个版本。官方文档的检索方式:github和官网。绘图的理解:对底层库的调用。普通方法所需要的参数。

2025-06-15 21:56:03 554

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

浙大疏锦行作业:尝试针对之前的心脏病项目ipynb,将他按照今天的示例项目整理成规范的形式,思考下哪些部分可以未来复用。

2025-06-14 16:08:10 1285

原创 DAY 30 模块和库的导入

1. 项目结构设置my_project/ <-- 项目根目录├── main_script.py <-- 主运行脚本└── utils/ <-- 工具包├── __init__.py <-- (空文件,但必须存在,表示这是一个包)└── calculator.py <-- 存放计算函数2. 编写模块代码"""这是一个包含计算函数的模块。""""""计算圆面积"""return 0"""计算矩形面积"""return 03. 导入场景与代码示例import sysimport os。

2025-06-13 13:08:39 1326

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

装饰器。

2025-06-12 15:12:23 1148

原创 DAY 28 类的定义和方法

calculate_perimeter():计算周长(公式:2×(长+宽))。is_square() 方法,判断是否为正方形(长 == 宽)。calculate_circumference():计算圆的周长(公式:2πr)。shape_type="rectangle":创建长方形(参数:长、宽)。calculate_area():计算圆的面积(公式:πr²)。shape_type="circle":创建圆(参数:半径)。calculate_area():计算面积(公式:长×宽)。

2025-06-11 22:10:25 315

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

3. **应用装饰器**:Python 自动将 `prime_nums` 作为参数传递给 `display_time`,即执行 `display_time(prime_nums)`。4. **替换原函数**:`display_time` 返回 `wrapper` 函数,Python 用这个新函数**覆盖**了原来的 `prime_nums`。1. **定义装饰器函数 `display_time`**:它接收一个函数 `func` 作为参数,并返回 `wrapper` 函数。3. 记录结束时间并打印耗时。

2025-06-10 20:24:32 231

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

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

2025-06-09 20:48:24 529

原创 DAY 25 异常处理

理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。try-except-else-finally机制。debug过程中的各类报错。try-except机制。

2025-06-08 10:54:19 438

原创 DAY 24 元组和OS模块

对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。

2025-06-07 12:54:23 280

原创 DAY 23 pipeline管道

浙大疏锦行知识回顾:转化器和估计器的概念管道工程ColumnTransformer和Pipeline类作业:整理下全部逻辑的先后顺序,看看能不能制作出适合所有机器学习的通用pipeline以心脏病数据集为例。

2025-06-06 13:50:38 729

原创 DAY 22 复习日

自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码。仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。

2025-06-05 20:24:35 617

原创 DAY 21 常见的降维算法

【代码】DAY 21 常见的降维算法。

2025-06-04 22:58:03 172

原创 DAY 20 奇异值SVD分解

SVD降维成功地减少了特征数量,同时保留了大部分数据方差。基于降维后特征的逻辑回归模型获得了约77%的准确率。

2025-06-03 10:02:03 1119

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

方差筛选是一种简单而有效的特征筛选方法。它的核心逻辑是:特征的方差反映了数据的变化程度,方差很小的特征几乎没有变化,对模型的预测帮助不大。比如,一个特征的值在所有样本中几乎都一样(方差接近0),那么它对区分不同类别或预测结果几乎没有贡献。因此,方差筛选会设定一个方差阈值,剔除方差低于这个阈值的特征,保留那些变化较大的特征,从而减少特征数量,提高模型效率。这种方法特别适合处理高维数据,能快速去掉不重要的特征,但它不考虑特征与目标变量之间的关系,可能会误删一些低方差但有意义的特征。皮尔逊相关系数筛选是一种

2025-06-02 11:56:09 914

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

参考示例代码对心脏病数据集采取类似操作,并且评估特征工程后模型效果有无提升。三个簇的总结与定义 (基于心脏病数据集特征)推断簇含义的2个思路:先选特征和后选特征。科研逻辑闭环:通过精度判断特征工程价值。通过可视化图形借助ai定义簇的含义。

2025-06-01 17:35:50 1101

原创 DAY 17 常见聚类算法

如果能从特征均值中发现不同簇之间存在稳定且可解释的模式(例如,某些簇代表了特定的病人画像),那么即使PCA可视化不佳,聚类也可能提供了一些有价值的洞察。线越长,表示合并这两个簇(或样本)时的距离越大,即它们之间的相似度越低。- **需预先指定 `k` 值**:对簇数量 `k` 的选择敏感,不合适的 `k` 会导致聚类效果较差。- **不适合非球形簇**:对非线性可分或形状复杂的簇效果较差,无法处理簇密度不均的情况。- **定义**:DB 指数衡量簇间距离与簇内分散度的比值,用于评估簇的分离度和紧凑度。

2025-05-31 11:59:35 1381

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

在后续进行频繁的数学运算时,尤其是在深度学习领域,对 NumPy 数组的理解非常有帮助,因为 PyTorch 或 TensorFlow 中的 **Tensor** 张量本质上可以视为**支持 GPU 加速**和**自动微分**的 NumPy 数组。这意味着你可以将 Python 的**列表 (List)**、**元组 (Tuple)**,甚至其他的 NumPy **数组**等数据结构直接传递给 `np.array()` 来创建新的 NumPy 数组。二维数组可以被看作是“数组的数组”或者一个矩阵。

2025-05-30 09:40:47 939

原创 DAY 15 复习日

尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。

2025-05-29 17:01:51 283

原创 DAY 14 SHAP图的绘制

【代码】DAY 14 SHAP图的绘制。

2025-05-28 17:22:49 173

原创 DAY 13 不平衡数据的处理

从示例代码可以看到效果没有变好,所以很多步骤都是理想是好的,但是现实并不一定可以变好。这个实验仍然有改进空间,如下。不平衡数据集的处理策略:过采样、修改权重、修改阈值。1. 做smote+过采样+修改权重的组合策略。2. 调参+上述策略。

2025-05-27 21:54:39 252

原创 DAY 12 启发式算法

浙大疏锦行超参数调整专题2三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法学习优化算法的思路(避免浪费无效时间)作业:今天以自由探索的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。1. 这些启发式算法都是优化器。你的目标是找到一组超参数,让你的机器学习模型在某个指标(比如验证集准确率)上表现最好。2. 这个过程就像在一个复杂的地形(参数空间)上寻找最高峰(最佳性能)。

2025-05-26 11:18:07 781

原创 DAY 11 常见的调参方式

浙大疏锦行超参数调整专题1知识点回顾1. 模型 = 算法 + 实例化设置的外参(超参数)+训练得到的内参2. 只要调参就需要考2次所以如果不做交叉验证,就需要划分验证集和测试集,但是很多调参方法中都默认有交叉验证,所以实际中可以省去划分验证集和测试集的步骤每个模型都有自己的超参数,每个超参数都有一定的意义。但是如果为了精度和科研 我们完全无需学习。只需要用好调参工具即可。

2025-05-25 11:53:36 627

DAY 10 机器学习建模与评估

DAY 10 机器学习建模与评估

2025-05-24

DAY 4 学习笔记(可直接打开)

DAY 4 学习笔记(可直接打开)

2025-05-18

空空如也

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

TA关注的人

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