自定义博客皮肤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放置位置的思考针对预训练模型的训练策略差异化学习率三阶段微调。

2025-08-26 00:30:00 601

原创 DAY 49 CBAM注意力

知识点回顾:通道注意力模块复习空间注意力模块CBAM的定义最近临近毕业,事情有点多。如果有之前的基础的话,今天的难度相对较低。后面说完几种模块提取特征的组合方式后,会提供整理的开源模块的文件。现在大家已近可以去读这类文章了,应该已经可以无压力看懂三四区的很多这类文章。作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程。

2025-08-25 00:15:00 210

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

知识点回顾:随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制ps:numpy运算也有类似的广播机制,基本一致作业:自己多借助ai举几个例子帮助自己理解即可。

2025-08-24 00:15:00 885

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

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

2025-08-23 00:45:00 312

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

之前复试班强化部分的transformer框架那节课已经介绍过注意力机制的由来,本质从onehot-elmo-selfattention-encoder-bert这就是一条不断提取特征的路。各有各的特点,也可以说由弱到强。其中注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。transformer中的叫做自注意力机制,他是一种自己学习自己的机制,他可以自动学习到图片中的主体,并忽略背景。

2025-08-22 00:30:00 679

原创 DAY 45 Tensorboard使用介绍

知识点回顾:tensorboard的发展历史和原理tensorboard的常见操作tensorboard在cifar上的实战:MLP和CNN模型效果展示如下,很适合拿去组会汇报撑页数:作业:对resnet18在cifar10上采用微调策略下,用tensorboard监控训练过程。PS:tensorboard和torch版本存在一定的不兼容性,如果报错请新建环境尝试。

2025-08-21 00:30:00 646

原创 DAY 44 预训练模型

知识点回顾:预训练的概念常见的分类预训练模型图像预训练模型的发展史预训练的策略预训练代码实战:resnet18作业:尝试在cifar10对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同尝试通过ctrl进入resnet的内部,观察残差究竟是什么。

2025-08-20 02:52:15 632

原创 DAY 43 复习日

作业:kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化进阶:并拆分成多个文件。

2025-08-19 00:30:00 114

原创 DAY 42 Grad-CAM与Hook函数

知识点回顾回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例作业:理解下今天的代码即可在深度学习中,我们经常需要查看或修改模型中间层的输出或梯度。然而,标准的前向传播和反向传播过程通常是一个黑盒,我们很难直接访问中间层的信息。PyTorch 提供了一种强大的工具——hook 函数,它允许我们在不修改模型结构的情况下,获取或修改中间层的信息。它的核心价值在于让开发者能够动态监听、捕获甚至修改模型内部任意层的输入 / 输出或梯度,而无需修改模型的原始代码结构。

2025-08-18 00:15:00 801

原创 DAY 41 简单CNN

Batch Normalization:一般用于图像数据,因为图像数据通常是批量处理,有相对固定的 Batch Size ,能利用 Batch 内数据计算稳定的统计量(均值、方差 )来做归一化。特征图就代表着在之前特征提取器上提取到的特征,可以通过 Grad-CAM方法来查看模型在识别图像时,特征图所对应的权重是多少。-----深度学习可解释性。卷积的本质:通过卷积核在输入通道上的滑动乘积,提取跨通道的空间特征。输入通道数:输入图片的通道数,如1(单通道图片)、3(RGB图片)、4(RGBA图片)等。

2025-08-17 00:45:00 377

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

批量维度不变性:无论进行flatten、view还是reshape操作,第一个维度batch_size通常保持不变。动态维度指定:使用-1让PyTorch自动计算该维度的大小,但需确保其他维度的指定合理,避免形状不匹配错误。# # 设置中文字体支持# plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题# # 1. 数据预处理# transforms.ToTensor(), # 转换为张量并归一化到[0,1]

2025-08-16 00:30:00 257

原创 DAY 39 图像数据与显存

从这里开始我们进入到了图像数据相关的部分,也是默认你有之前复试班计算机视觉相关的知识,但是一些基础的概念我仍然会提。昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)# 先继续之前的代码from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具。

2025-08-15 00:15:00 663

原创 DAY 38 Dataset和Dataloader类

维度DatasetDataLoader核心职责定义“数据是什么”和“如何获取单个样本”定义“如何批量加载数据”和“加载策略”核心方法(获取单个样本)、__len__(样本总数)无自定义方法,通过参数控制加载逻辑预处理位置在中通过transform执行预处理无预处理逻辑,依赖Dataset返回的预处理后数据并行处理无(仅单样本处理)支持多进程加载(典型参数root(数据路径)、transform(预处理)batch_sizeshuffle核心结论Dataset类:定义数据的内容和格式。

2025-08-14 00:30:00 721

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

对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略。

2025-08-13 08:54:14 396

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

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

2025-08-11 09:15:00 752

原创 DAY 36 复习日

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

2025-08-11 09:00:00 142

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

知识点回归:CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)ps:在训练过程中可以在命令行输入nvida-smi查看显存占用情况作业首先回顾下昨天的内容,我在训练开始和结束增加了time来查看运行时长。

2025-08-10 08:00:00 453

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

定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。

2025-08-09 08:45:00 342

原创 DAY 32 官方文档的阅读

我们已经掌握了相当多的机器学习和python基础知识,现在面对一个全新的官方库,看看是否可以借助官方文档的写法了解其如何使用。df['target'] = iris.target # 添加目标列(0-2类:山鸢尾、杂色鸢尾、维吉尼亚鸢尾)len(target_plot.plot()) # 查看元组的形状,元组只有len方法,没有shape方法。feature_name=feature_name, # 特征名称(用于绘图标签)# target='target', # 多分类目标索引(鸢尾花3个类别)

2025-08-08 09:15:00 733

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

今日的示例代码包含2个部分notebook文件夹内的ipynb文件,介绍下今天的思路项目文件夹中其他部分:拆分后的信贷项目,学习下如何拆分的,未来你看到的很多大项目都是类似的拆分方法知识点回顾规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解作业:尝试针对之前的心脏病项目ipynb,将他按照今天的示例项目整理成规范的形式,思考下哪些部分可以未来复用。昨天我们已经介绍了如何在不同的文件中,导入其他目录的文件,核心在于了解导入方式和python解释器检索目录的方式。

2025-08-07 07:00:00 725

原创 DAY 30 模块和库的导入

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

2025-08-06 19:33:21 791

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

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。实际上,定义类的方法,有2类写法。

2025-08-05 11:01:30 915

原创 DAY 28 类的定义和方法

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

2025-08-04 23:39:52 881

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

s:第一期day27对应5月16日知识点回顾:装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值作业:编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)

2025-08-03 08:00:00 1340

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

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

2025-08-02 10:00:00 326

原创 DAY 25 异常处理

知识点回顾:异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。

2025-08-01 08:30:00 1582

原创 DAY 24 元组和OS模块

知识点回顾:元组可迭代对象os模块作业:对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。

2025-07-31 08:45:00 339

原创 DAY 23 pipeline

知识回顾:转化器和估计器的概念管道工程ColumnTransformer和Pipeline类作业:整理下全部逻辑的先后顺序,看看能不能制作出适合所有机器学习的通用pipeline。

2025-07-30 08:15:00 1755

原创 DAY 22 复习日

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

2025-07-29 09:00:00 171

原创 DAY 21 常见的降维算法

t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。与PCA关注全局方差不同,t-SNE 更关注局部细节。理解它的超参数(尤其是困惑度)和结果的正确解读方式非常重要。

2025-07-28 22:03:30 712

原创 DAY 20 奇异值SVD分解

对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。奇异值分解这个理论,对于你未来无论是做图像处理、信号处理、特征提取、推荐系统等都非常重要,所以需要单独抽出来说一下这个思想。数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大)降噪:通常噪声对应较小的奇异值。

2025-07-27 11:00:00 227

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

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

2025-07-26 07:30:00 296

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

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

2025-07-25 08:00:00 185

原创 DAY 17 常见聚类算法

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

2025-07-24 09:30:00 189

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

因为前天说了shap,这里涉及到数据形状尺寸问题,所以需要在这一节说清楚,后续的神经网络我们将要和他天天打交道。numpy数组的创建:简单创建、随机创建、遍历、运算。numpy数组的索引:一维、二维、三维。SHAP值的深入理解。

2025-07-23 07:00:00 149

原创 day15复习日

尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。仔细回顾一下之前14天的内容,没跟上进度的同学补一下进度。有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。尽可能与他人不同,优先选择本专业相关数据集。探索一下开源数据的网站有哪些?

2025-07-22 08:15:00 123

原创 day14SHAP图的绘制

理解复杂机器学习模型(尤其是“黑箱”模型,如随机森林、梯度提升树、神经网络等)为什么会对特定输入做出特定预测。SHAP 提供了一种统一的方法来解释模型的输出。核心思想:合作博弈论中的 Shapley 值SHAP (SHapley Additive exPlanations) 的核心基于博弈论中的Shapley 值概念。模型的特征 (Features)就是玩家。目标是预测某个样本的输出值。不同的特征子集可以“合作”起来进行预测。某个特征子集进行预测得到的值。如何公平地。

2025-07-21 22:04:57 895

原创 day13不平衡数据的处理

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

2025-07-20 10:00:00 1013

原创 day12启发式算法

关键特点:靠 “温度控制的概率接受机制” 跳出局部最优,适合单峰或有局部最优的问题(如旅行商问题、函数极值)。粒子在解空间中 “飞行”,记录自己找到的最优位置(个体最优)和整个群体的最优位置(全局最优);随机生成一批初始解(“种群”),计算每个解的 “适应度”(越好的解适应度越高);把 “可能的解” 看作 “粒子”,每个粒子有位置(解的数值)和速度(移动方向);逐步降低 “温度”(类似退火降温),接受差解的概率越来越小,最终稳定在较好的解;初始时 “温度” 很高(允许接受差的解),随机生成一个初始解;

2025-07-19 00:20:03 335

原创 day11常见的调参方式

贝叶斯优化(2种实现逻辑,以及如何避开必须用交叉验证的问题)随机搜索(简单介绍,非重点 实战中很少用到,可以不了解)time库的计时模块,方便后人查看代码运行时长。

2025-07-18 09:00:00 209

空空如也

空空如也

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

TA关注的人

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