- 博客(50)
- 收藏
- 关注
原创 Python训练第五十天
DAY 50 预训练模型+CBAM模块知识点回顾:resnet结构解析CBAM放置位置的思考针对预训练模型的训练策略差异化学习率三阶段微调预训练模型的结构和权重是固定的,如果修改其中的模型结构,是否会大幅影响其性能。其次是训练的时候如何训练才可以更好的避免破坏原有的特征提取器的参数。所以今天的内容,我们需要回答2个问题。1. resnet18中如何插入cbam模块?2. 采用什么样的预训练策略,能够更好的提高效率?
2025-06-11 23:19:04
812
原创 Python训练第四十九天
DAY 49 CBAM注意力知识点回顾:通道注意力模块复习空间注意力模块CBAM的定义最近临近毕业,事情有点多。如果有之前的基础的话,今天的难度相对较低。后面说完几种模块提取特征的组合方式后,会提供整理的开源模块的文件。现在大家已近可以去读这类文章了,应该已经可以无压力看懂三四区的很多这类文章。
2025-06-10 20:42:17
356
原创 Python训练第四十八天
DAY 48 随机函数与广播机制知识点回顾:随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制ps:numpy运算也有类似的广播机制,基本一致在继续讲解模块消融前,先补充几个之前没提的基础概念尤其需要搞懂张量的维度、以及计算后的维度,这对于你未来理解复杂的网络至关重要。
2025-06-09 17:59:52
1694
原创 Python训练第四十六天
本质从onehot-elmo-selfattention-encoder-bert这就是一条不断提取特征的路。各有各的特点,也可以说由弱到强。其中注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。transformer中的叫做自注意力机制,他是一种自己学习自己的机制,他可以自动学习到图片中的主体,并忽略背景。我们现在说的很多模块,比如通道注意力、空间注意力、通道注意力等等,都是基于自注意力机制的。
2025-06-06 21:32:38
1831
原创 Python训练第四十五天
使用介绍知识点回顾的发展历史和原理的常见操作在cifar上的实战MLP和CNN模型效果展示如下很适合拿去组会汇报撑页数之前的内容中,我们在神经网络训练中,为了帮助自己理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图,运行结束后还可以查看单张图的推理效果。如果现在有一个交互工具可以很简单的通过按钮完成这些辅助功能那就好了。
2025-06-05 23:40:04
2224
1
原创 Python训练第四十四天
那么什么模型会被选为预训练模型呢?比如一些调参后表现很好的cnn神经网络(固定的神经元个数+固定的层数等)。所以调用预训练模型做微调,本质就是 用这些固定的结构+之前训练好的参数 接着训练所以需要找到预训练的模型结构并且加载模型参数相较于之前用自己定义的模型有以下几个注意点1. 需要调用预训练模型和加载权重2. 需要resize 图片让其可以适配模型3. 需要修改最后的全连接层以适应数据集。
2025-06-04 23:34:39
551
原创 Python训练第四十三天
kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化。进阶:并拆分成多个文件。DAY 43 复习日。
2025-06-03 23:30:36
412
原创 Python训练第四十二天
DAY 42 Grad-CAM与Hook函数知识点回顾回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例作业:理解下今天的代码即可。
2025-06-02 23:07:49
909
原创 Python训练第四十一天
DAY 41简单CNN知识回顾数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率卷积操作常见流程如下:1. 输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层Flatten -> Dense (with Dropout,可选) -> Dense (Output)
2025-06-01 23:37:43
804
原创 Python训练第四十天
测试函数和绘图函数均被封装在了train函数中,但是test和绘图函数在定义train函数之后,这是因为在 Python 中,函数定义的顺序不影响调用,只要在调用前已经完成定义即可。dropout的取值也是超参数。Epoch: 10/20 | Batch: 300/782 | 单Batch损失: 0.9660 | 累计平均损失: 0.7589。Epoch: 10/20 | Batch: 400/782 | 单Batch损失: 0.9107 | 累计平均损失: 0.7718。
2025-05-31 10:34:22
962
原创 Python训练第三十九天
从这里开始进入到了图像数据相关的部分,默认有计算机视觉相关的知识。昨天我们介绍了minist这个经典的手写数据集,作为图像数据,相较于结构化数据(表格数据)他的特点在于他每个样本的的形状并不是(特征数,),而是(宽,高,通道数)# 先继续之前的代码from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具。
2025-05-29 22:14:17
766
原创 Python训练第三十八天
DAY 38 Dataset和Dataloader类知识点回顾:Dataset类的__getitem__和__len__方法(本质是python的特殊方法)Dataloader类minist手写数据集的了解作业:了解下cifar数据集,尝试获取其中一张图片Dataset类的__getitem__和__len__方法(本质是python的特殊方法)在遇到大规模数据集时,显存常常无法一次性存储所有数据,所以需要使用分批训练的方法。
2025-05-27 23:49:50
689
原创 Python训练第三十七天
DAY 37 早停策略和模型权重的保存知识点回顾:过拟合的判断:测试集和训练集同步打印指标模型的保存和加载仅保存权重保存权重和模型保存全部信息checkpoint,还包含训练状态早停策略训练集的loss在下降,但是有可能出现过拟合现象:模型过度学习了训练集的信息,导致在测试集上表现不理想。所以很自然的,我们想同步打印测试集的loss,以判断是否出现过拟合现象。
2025-05-26 19:56:32
440
原创 Python训练第三十六天
作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。探索性作业(随意完成):尝试进入nn.Module中,查看他的方法。仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。
2025-05-25 21:03:12
235
原创 Python训练第三十五天
DAY 35 模型可视化与推理知识点回顾:三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式作业:调整模型定义时的超参数,对比下效果。
2025-05-24 17:00:58
1068
原创 Python训练第三十四天
self.fc1是一个实例化的对象,为什么具备了函数一样的用法,这是因为nn.Linear继承了nn.Module类,nn.Module类中定义了__call__方法。可以注意到,self.fc1 = nn.Linear(4, 10) 此时,是实例化了一个nn.Linear(4, 10)对象,并把这个对象赋值给了MLP的初始化函数中的self.fc1变量。综上,数据传输和各种固定开销的总和,超过了 GPU 在这点计算量上通过并行处理所能节省的时间,导致了 GPU 比 CPU 慢的现象。
2025-05-23 22:46:59
1048
原创 Python训练第三十三天
定义一个简单的全连接神经网络模型,包含一个输入层、一个隐藏层和一个输出层。定义层数+定义前向传播顺序class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数# 前三行是八股文,后面的是自定义的self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。
2025-05-22 23:58:49
640
原创 Python训练第三十二天
参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。官方文档的阅读和使用:要求安装的包和文档为同一个版本。官方文档的检索方式:github和官网。DAY 32 官方文档的阅读。绘图的理解:对底层库的调用。普通方法所需要的参数。
2025-05-21 23:49:52
192
原创 Python训练第三十一天
尝试针对之前的心脏病项目ipynb,将他按照今天的示例项目整理成规范的形式,思考下哪些部分可以未来复用。项目文件夹中其他部分:拆分后的信贷项目,学习下如何拆分的,未来你看到的很多大项目都是类似的拆分方法。notebook文件夹内的ipynb文件,介绍下今天的思路。DAY 31 文件的规范拆分和写法。今日的示例代码包含2个部分。
2025-05-20 22:52:45
231
原创 Python训练第三十天
DAY 30 模块和库的导入知识点回顾:导入官方库的三种手段导入自定义库/模块的方式导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)
2025-05-19 18:12:43
878
原创 Python训练第二十九天
函数是动词:描述“做什么”(如类是名词:描述“是什么”(如Python是笔:用它清晰地表达逻辑,而非炫耀语法技巧。经历了一个月的学习,对于传统机器学习和python代码基础有了一定的了解和掌握,也在kaggle数据平台做了实战演练,虽很粗糙但也是自己所学。
2025-05-18 18:49:47
861
原创 Python训练第二十八天
1. 关键字class2. 类名3. 语法固定符号冒号(:)4. 一个初始化函数__init__(self)注意:注意:init左右各有两个下划线__,需要传入self这个特殊的参数。pass占位语句class ClassName: # 类名通常遵循大驼峰命名法 (UpperCamelCase),即每个单词的首字母都大写,class是定义类的关键词# 类的代码块 (可以包含属性定义、方法定义等)pass # pass 是一个占位符,表示这里暂时没有任何内容。
2025-05-17 21:17:41
1030
原创 Python训练第二十七天
DAY 27 函数专题2:装饰器知识点回顾:装饰器的思想进一步复用函数的装饰器写法注意内部函数的返回值作业编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)推荐视频装饰器的思想进一步复用昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个@xxx,它就是装饰器装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。
2025-05-16 15:40:47
325
原创 Python训练第二十六天
DAY 26 函数专题1知识点回顾:函数的定义变量作用域:局部变量和全局变量函数的参数类型:位置参数、默认参数、不定参数传递参数的手段:关键词参数传递参数的顺序:同时出现三种参数类型时。
2025-05-15 16:53:17
835
原创 Python训练第二十五天
DAY 25 异常处理知识点回顾:异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。
2025-05-14 17:54:19
1034
原创 Python训练第二十四天
os 模块是 Python 标准库中的一个重要模块,它提供了一种方便的使用操作系统相关功能的方式。随着深度学习项目变得越来越大、数据量越来越多、代码结构越来越复杂,你会越来越频繁地用到 os 模块来管理文件、目录、路径,以及进行一些基本的操作系统交互。虽然深度学习的核心在于模型构建和训练,但数据和模型的有效管理是项目成功的关键环节,而 os 模块为此提供了重要的工具。os.walk() 是 Python os 模块中一个非常有用的函数,它用于遍历(或称“行走”)一个目录树。
2025-05-13 22:11:04
391
原创 Python训练第二十三天
pipeline在机器学习领域可以翻译为“管道”,也可以翻译为“流水线”,是机器学习中一个重要的概念。在机器学习中,通常会按照一定的顺序对数据进行预处理、特征提取、模型训练和模型评估等步骤,以实现机器学习模型的训练和评估。为了方便管理这些步骤,我们可以使用pipeline来构建一个完整的机器学习流水线。pipeline是一个用于组合多个估计器(estimator)的 estimator,它实现了一个流水线,其中每个估计器都按照一定的顺序执行。
2025-05-12 19:44:52
1019
原创 Python训练第二十二天
自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交。仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。
2025-05-11 18:56:45
172
原创 Python训练第二十一天
何时使用降维?1.数据可视化高维数据难以直接可视化(如超过3维),通过降维(如PCA、t-SNE、UMAP)投影到2D/3D空间,揭示数据分布、聚类或流形结构。适用算法:t-SNE(非线性可视化)、PCA(线性全局结构)、UMAP(高效非线性)。2.特征冗余与噪声去除数据中存在高度相关或冗余特征(如多重共线性),降维可提取独立成分,去除噪声。适用算法:PCA(最大化方差去噪)、ICA(独立成分分析)。3.模型加速与防止过拟合。
2025-05-10 23:23:36
375
原创 Python训练第十七天
Day17知识点聚类的指标聚类常见算法:kmeans聚类、dbscan聚类、层次聚类三种算法对应的流程实际在论文中聚类的策略不一定是针对所有特征,可以针对其中几个可以解释的特征进行聚类,得到聚类后的类别,这样后续进行解释也更加符合逻辑。聚类的流程1.标准化数据2.选择合适的算法,根据评估指标调参KMeans 和层次聚类的参数是K值,选完k指标就确定DBSCAN 的参数是 eps 和min_samples,选完他们出现k和评估指标。
2025-05-06 21:29:48
864
原创 Python训练第十六天
示例:shap_values[0, :, 0] 表示第一个样本的所有特征对类别0的贡献值。• 解释模型预测:结合特征值(X_test)和SHAP值,分析单个预测结果的驱动因素。• 多分类处理:每个类别需单独分析(shap_values[:, :, 类别索引])。三维数组:shap_values.shape = (样本数, 特征数, 类别数)。• 维度匹配:确保SHAP值与特征数据维度一致(如样本数、特征数)。• 特征重要性分析:通过汇总所有样本的SHAP值,识别关键特征。# 绘制特征重要性条形图。
2025-05-05 23:33:04
332
原创 Python训练第十五天
对于数据的认识,很重要的一点是,很多数据并非是为了某个确定的问题收集的,这也意味着一份数据你可以完成很多不同的研究,自变量、因变量的选取取决于你自己-----很多时候针对现有数据的思考才是真正拉开你与他人差距的最重要因素。尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。同一个问题,特征加工上,是否对数据进一步加工得出了新的结论-----你的加工被证明是有意义的。有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。
2025-05-04 23:05:46
401
原创 Python训练第十四天
尝试确定一下shap各个绘图函数对于每一个参数的尺寸要求,如shap.force_plot力图中的数据需要满足什么形状?确定分类问题和回归问题的数据如何才能满足尺寸,分类采取信贷数据集,回归采取单车数据集。今日作业偏思考类型,有一定难度。参考上述文档补全剩余的几个图。
2025-05-03 23:30:24
196
原创 Python训练第十二天
粒子群算法(PSO)简单易用,计算量小,收敛速度快,且具有强大的全局搜索能力,容易找到全局最优解。粒子群算法适用于连续函数的极值问题,尤其是非线性多峰问题,表现出色。是一种基于物理退火过程的优化算法,通过设定初始温度和降温速率,逐步寻找目标函数的最优解。的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。,引入随机性,防止算法陷入局部最优。,实现种群的多样性,增加解的空间搜索能力。粒子群算法,通过模拟鸟群觅食的过程,寻找最优解。
2025-05-01 22:41:44
769
原创 Python训练第十一天
核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。因此,网格通常设置得比较小或集中在认为最优参数可能存在的区域(可能基于随机搜索的初步结果)。它会尝试网格中所有可能的参数组合。需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。
2025-04-30 23:30:01
426
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅