- 博客(51)
- 收藏
- 关注
原创 Python训练打卡DAY50
DAY50:预训练模型+CBAM模块。一、观察resnet内部结构。针对预训练模型的训练策略。CBAM放置位置的思考。二、CBAM的放置位置。resnet结构解析。
2025-07-10 21:15:35
241
原创 Python训练打卡DAY49
CBAM 是一种能够集成到任何卷积神经网络架构中的注意力模块。它的核心目标是通过学习的方式,自动获取特征图在通道和空间维度上的重要性,进而对特征图进行自适应调整,增强重要特征,抑制不重要特征,提升模型的特征表达能力和性能。CBAM 由两个主要部分组成:通道注意力模块(Channel Attention Module)和空间注意力模块(Spatial Attention Module)。通道注意力(Channel Attention):分析 “哪些通道的特征更关键”(如图像中的颜色、纹理通道)。
2025-07-09 21:57:02
752
原创 Python训练打卡DAY48
在 PyTorch 中,torch.randn()是一个常用的随机张量生成函数,它可以创建一个由标准正态分布(均值为 0,标准差为 1)随机数填充的张量。PyTorch 的广播机制(Broadcasting)是一种高效的张量运算特性,允许在不同形状的张量之间执行元素级操作(如加法、乘法),而无需显式扩展或复制数据。- 一维扩展:若其中一个张量在某一维度上大小为 **1**,则该维度会被扩展为另一个张量对应维度的大小。3. 维度补全规则:若一个张量的维度少于另一个,则在其**左侧补 1** 直至维度数匹配。
2025-07-08 21:17:37
287
原创 Python训练打卡DAY46
什么是注意力:注意力家族,类似于动物园,都是不同的模块,好不好试了才知道。不同CNN层的特征图:不同通道的特征图。DAY46:通道注意力(SE注意力)通道注意力:模型的定义和插入的位置。通道注意力后的特征图和热力图。三、通道注意力的定义。四、通道注意力的插入。
2025-07-06 21:24:23
303
原创 Python训练打卡DAY45
tensorboard在cifar上的实战:MLP和CNN模型。DAY45:TensorBoard使用介绍。tensorboard的发展历史和原理。tensorboard的常见操作。一、cifa-10 MLP实战。二、cifa-10 CNN实战。
2025-07-05 20:11:05
180
原创 Python训练打卡DAY43
Dataset类的__getitem__和__len__方法(本质是python的特殊方法)dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout。batch归一化:调整一个批次的分布,常用与图像数据。展平操作:除第一个维度batchsize外全部展平。彩色和灰度图片测试和训练的规范写法:封装在函数中。特征图:只有卷积操作输出的才叫特征图。batchisize和训练的关系。hook函数的模块钩子和张量钩子。图像数据的格式:灰度和彩色数据。卷积神经网络定义的写法。
2025-07-03 20:11:03
125
原创 Python训练打卡DAY42
在hook中常常用到lambda函数,它是一种匿名函数(没有正式名称的函数),最大特点是用完即弃,无需提前命名和定义。其中回调函数作为参数传入,所以在定义的时候一般用callback来命名,在 PyTorch 的 Hook API 中,回调参数通常命名为 hook。- `register_full_backward_hook`:用于在完整的反向传播过程中监听张量的梯度(PyTorch 1.4+)Grad-CAM 的核心思想是:通过反向传播得到的梯度信息,来衡量每个特征图对目标类别的重要性。
2025-07-02 20:23:38
978
原创 Python训练打卡DAY41
在图像数据预处理环节,为提升数据多样性,可采用数据增强(数据增广)策略。该策略通常不改变单次训练的样本总数,而是通过对现有图像进行多样化变换,使每次训练输入的样本呈现更丰富的形态差异,从而有效扩展模型训练的样本空间多样性。2. 像素变换:如修改颜色、亮度、对比度、饱和度、色相、高斯模糊(模拟对焦失败)、增加噪声、马赛克。此外,在数据极少的场景长,常常用生成模型来扩充数据集,如GAN、VAE等。只需要定义卷积核大小、输入通道数、输出通道数、步长四个参数。1. 几何变换:如旋转、缩放、平移、剪裁、裁剪、翻转。
2025-07-01 18:42:20
168
原创 python训练打卡DAY40
dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout。展平操作:除第一个维度batchsize外全部展平。彩色和灰度图片测试和训练的规范写法:封装在函数中。DAY40:训练和测试的规范写法。一、单通道图片的规范写法。二、彩色图片的规范写法。
2025-06-30 21:18:56
267
原创 Python训练打卡DAY39
3、模型定义与batchsize的关系。batchisize和训练的关系。图像数据的格式:灰度和彩色数据。DAY39:图像数据与显存。二、图像相关神经网络。1、定义黑白图像模型。2、定义彩色图像模型。
2025-06-29 11:58:46
189
原创 Python打卡DAY38
样本的预处理逻辑(如裁剪、翻转、归一化等,通常通过`transform`参数实现)。Dataset类:告诉程序去哪里找数据,如何读取单个样本,以及如何预处理。- 原始数据的读取方式(如图像解码为PIL对象、文本读取为字符串)。- 返回值格式(如`(image_tensor, label)`)。- 数据存储路径/来源(如文件路径、数据库查询)。- 是否打乱数据顺序(`shuffle`)。- 批量大小(`batch_size`)。2、_len_方法:返回对象中元素的数量。一、Dataset类。
2025-06-28 19:40:39
381
原创 Python打卡DAY37
2、 每 200 轮训练执行一次判断:比较当前损失与历史最佳损失。- 若计数器达到最大容许的阈值patience,则停止训练。- 若当前损失更高或相等,计数器加 1。1、首先初始一个计数器counter。- 若当前损失更低,保存模型参数。DAY37:早停策略和模型权重的保存。一、判断是否过拟合(使用CPU)三、应对过拟合情况——早停策略。二、模型的保存和加载。
2025-06-27 15:04:57
253
原创 Python打卡DAY35
2、torchsummary库的summary方法。3、torchinfo库的summary方法。一、回顾使用神经网络在GPU上训练模型过程。1、nn.model自带的方法。DAY35:模型可视化与推理。二、模型结构可视化方法。
2025-06-23 09:21:27
350
原创 Python打卡DAY34
1. 直接不打印训练过程的loss了,但是这样会没办法记录最后的可视化图片,只能肉眼观察loss数值变化。2. 每隔200个epoch保存一下loss,不需要20000个epoch每次都打印。DAY34:GPU训练及类的call方法。2、带参数的_call_方法。1、不带参数的call方法。4、定义损失函数和优化器。二、用GPU训练模型。3、设计神经网络结构。四、_call_方法。
2025-06-22 22:37:26
279
原创 Python打卡DAY33
2、简单的神经网络模型分成三层:输入层、隐藏层、输出层。DAY33:MLP神经网络的训练。1、数据的导入与划分数据集。2、数据预处理(归一化)1、定义损失函数和优化器。一、检查cuda的安装。
2025-06-21 09:44:01
260
原创 Python打卡DAY32
3. 官方文档:https://pdpbox.readthedocs.io/en/latest/1. GitHub 仓库:https://github.com/SauceCat/PDPbox。2. PyPI 页面:https://pypi.org/project/PDPbox/3、进入官方文档,选择图绘制,导入包。2、划分训练集和测试集、训练模型。4、实例化TargetPlot。DAY32:官方文档的阅读。
2025-06-20 09:59:33
233
原创 Python打卡DAY31
命名参考:`preprocess.py` 、`data_cleaning.py` 、`data_transformation.py`- 命名参考:`eda.py` 、`visualization_utils.py`- 命名参考:`load_data.py` 、`data_loader.py`- 命名参考:`predict.py` 、`inference.py`3、数据预处理:处理缺失值、异常值,进行标准化、归一化、编码等操作。- 命名参考:`model.py` 、`train.py`
2025-06-19 22:40:59
340
原创 Python打卡DAY30
3、非标准导入——导入整个库。二、导入自定义模块/库的方式。DAY30:模块和库的导入。1、标准导入:导入整个库。2、从库中导入特定项。
2025-06-18 09:41:43
341
原创 Python打卡DAY25
9、文件未找到错误FileNotFoundError:打开不存在的文件。10、导入错误ModuleNotFoundError:导入不存在的模块。3、类型错误TypeError:对不支持该操作的数据类型执行操作。7、属性错误AttributeError:访问不存在的属性或方法。2、名称错误NameError:使用未被定义的变量名、函数名等。5、索引错误IndexError:找序列中不存在的索引。4、值错误ValueError:值不合适或无效。6、键错误KeyError:访问不存在的键。DAY25:异常处理。
2025-06-09 23:16:45
193
原创 Python打卡DAY24
包括序列类型(列表、元组、字符串、范围)、集合类型、字典类型、文件对象、生成器、迭代器本身。1、OS是系统内置模块,无需安装。3、获取当前工作目录下的文件列表。2、元组的索引/切片/长度获取。6、os.walk用于访问目录。5、迭代字典的键、值、键值对。DAY24:元组和OS模块。2、获取当前工作目录。4、将两数据拼接起来。
2025-06-09 23:16:14
190
原创 Python打卡DAY23
2、构建ColumnTransformer接收一个 transformers 列表,每个元素是 (名称, 转换器对象, 列名列表)ColumnTransformer和Pipeline类。一、导入Pipeline和相关预处理工具。1、将不同列分类并定义对应的预处理步骤。四、使用pipeline进行训练和评估。DAY23:pipeline管道。二、分离特征和标签,划分数据集。3、构建完整pipeline。三、构建pipeline。转化器和估计器的概念。
2025-06-06 08:00:00
336
原创 Python打卡DAY22
4、特征筛选算法(方差筛选、皮尔逊相关系数、lasso、树模型、shap值、递归特征消除RFE)5、特征降维算法(奇异值SVD分解、PCA、t-SNE、LDA)2、聚类算法(Kmeans、DBSCAN、层次聚类)3、推断聚类后簇的含义(先选特征/后选特征)
2025-06-05 08:00:00
118
原创 Python打卡DAY21
通常保留方差大的方向(未必是有用的),在分类任务中,通常LDA比PCA有用。一、无监督降维(有特征数据本身即可)——PCA。三、有监督降维算法——线性判别分析LDA。二、无监督降维——t-SNE。DAY21:特征降维算法。2、PCA降维并测试。
2025-06-04 08:00:00
262
原创 Python打卡DAY20
推荐系统:在协同过滤算法中,用户-物品评分矩阵通常是稀疏且高维的。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大)降噪:通常噪声对应较小的奇异值。通过丢弃这些小奇异值并重构矩阵,可以达到一定程度的降噪效果。对训练集进行SVD降维并进行模型训练,对测试集应用相同的降维方法。DAY20:奇异值SVD分解。
2025-06-03 08:00:00
309
原创 Python打卡DAY19
1、方差筛选:计算一个特征的方差,方差小的说明变化不大,可能对结果影响不大,因此去掉(有可能去掉变化不大但有意义的特征值)需要设定一个阈值,方差越过这个阈值的去掉。3、lasso筛选:结合特征筛选和模型训练,在进行线性回归的同时,通过引入L1正则化,将一些不重要的回归系数强压到0(lasso可以自动筛选出对结果有贡献的特征)2、皮尔逊相关系数筛选:计算每个特征与标签的相关系数(-1,1),绝对值越大,说明相关性越大;6、递归特征消除RFE:通过递归逐步消除不重要的特征,逐步缩小特征集。
2025-06-02 08:00:00
415
原创 Python打卡DAY18
2、后选特征:最开始用全部特征聚类,根据得到的簇类做重要性分析,再得出重要的特征。2、绘制各个簇前四个重要特征的分布,以簇0为例。1、先选特征:最开始就选好用来定义簇的特征;推断簇含义的2个思路:先选特征和后选特征。科研逻辑闭环:通过精度判断特征工程价值。通过可视化图形借助ai定义簇的含义。(2)用全部数据训练随机森林模型。(3)用shap做特征重要性分析。(1)筛选出标签列和特征列。1、筛选出每个簇的数据。
2025-06-01 08:00:00
203
原创 Python训练打卡DAY17
聚类常见算法:kmeans聚类、dbscan聚类、层次聚类。2、DBSCANS聚类算法。DAY17:常见聚类算法。1、Kmeans聚类算法。
2025-05-31 08:00:00
204
原创 Python训练打卡DAY16
numpy数组的创建:简单创建、随机创建、遍历、运算。7、创建一个2*2的随机数组c,区间为[0,1)numpy数组的索引:一维、二维、三维。4、创建一个2行3列的全零数组并打印。5、创建一个形状为(3,)的全1数组。DAY16:数组的常见操作和形状。1、导入数组操作所用包numpy。6、创建一个从1到10的数组。2、创建并打印一个一维数组。3、创建并打印一个二维数组。SHAP值的深入理解。
2025-05-30 08:00:00
218
原创 Python训练打卡DAY14
DAY14:shap图的绘制。4、shap特征重要性条形图。5、shap特征重要性蜂巢图。1、导入shap相关包。
2025-05-28 08:00:00
155
原创 Python训练打卡DAY13
1、修改权重:模型训练时会侧重多数样本数据,通过设置算法的参数(class_weight='balanced'),将少数样本的参考权重提高;2、过采样——Smote过采样:根据少数类样本合成新数据加入数据集中。利用未调参的随机森林模型进行训练得出用于对比的结果。重新训练观察训练结果,和未调整的数据集训练做对比。不平衡数据集的处理策略:过采样、修改权重、修改阈值。2、修改阈值:模型评估时,调整模型输出规则。:复制数量少的数据加入到数据集中。DAY13:不平衡数据的处理。
2025-05-27 08:00:00
313
原创 Python打卡DAY12
三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法。学习优化算法的思路(避免浪费无效时间)DAY12:启发式算法(找最优参数)2、粒子群算法更新参数。1、遗传算法更新参数。3、退火算法更新参数。
2025-05-26 08:00:00
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅