自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【DAY47】注意力热图可视化

内容来自@浙大疏锦行python打卡训练营。昨天代码中注意力热图的部分顺移至今天。对比不同卷积层热图可视化的结果。

2025-06-13 13:12:26 84

原创 【DAY46】通道注意力(SE注意力)

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

2025-06-11 17:42:50 578

原创 【DAY45】 Tensorboard使用介绍

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

2025-06-10 17:19:05 1008

原创 【DAY44】预训练模型

上图的层数,代表该模型不同的版本resnet有resnet18、resnet50、resnet152;efficientnet有efficientnet-b0、efficientnet-b1、efficientnet-b2、efficientnet-b3、efficientnet-b4等。

2025-06-09 22:13:18 908

原创 【DAY43】复习日

kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化。内容来自@浙大疏锦行python打卡训练营。进阶:并拆分成多个文件。

2025-06-08 22:04:09 340

原创 【DAY42】Grad-CAM与Hook函数

1.

2025-06-07 23:54:14 1144

原创 【DAY41】简单CNN

内容来自@浙大疏锦行python打卡训练营知识点:数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率卷积操作常见流程如下:1. 输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层2. Flatten → Dense (with Dropout,可选) → Dense (Output)这里相关的概念比较多,

2025-06-06 10:33:09 944

原创 【DAY40】训练和测试的规范写法

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

2025-06-05 23:55:34 661

原创 【DAY39】图像数据与显存

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

2025-06-04 21:15:06 612

原创 【DAY38】 Dataset和Dataloader类

内容来自@浙大疏锦行python打卡训练营@浙大疏锦行作业:了解下cifar数据集,尝试获取其中一张图片在遇到大规模数据集时,显存常常无法一次性存储所有数据,所以需要使用分批训练的方法。为此,PyTorch提供了DataLoader类,该类可以自动将数据集切分为多个批次batch,并支持多线程加载数据。此外,还存在Dataset类,该类可以定义数据集的读取方式和预处理方式。1. DataLoader类:决定数据如何加载2. Dataset类:告诉程序去哪里找数据,如何读取单个样本,以及如何预处理。为了引入这

2025-06-03 20:04:20 699

原创 【DAY37】早停策略和模型权重的保存

内容来自@浙大疏锦行python打卡训练营知识点:过拟合的判断:测试集和训练集同步打印指标模型的保存和加载仅保存权重保存权重和模型保存全部信息checkpoint,还包含训练状态早停策略作业:对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略我今天的笔记是用cpu训练的,请自行修改为gpu训练仍然是循序渐进,先复习之前的代码训练集的loss在下降,但是有可能出现过拟合现象:模型过度学习了训练集的信息,导致在测试集上表现不理想。

2025-06-02 16:03:41 748

原创 【DAY36】复习日

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

2025-06-01 23:02:55 272

原创 【DAY35】模型可视化与推理

内容来自@浙大疏锦行python打卡训练营知识点:1.三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化2.进度条功能:手动和自动写法,让打印结果更加美观3.推理的写法:评估模式作业:调整模型定义时的超参数,对比下效果。仍然是循序渐进,从基础的开始,逐渐加大深度。模型的推理进度条功能模型保存和加载。

2025-05-31 19:08:35 907

原创 【DAY34】GPU训练及类的call方法

内容来自@浙大疏锦行python打卡训练营知识点:CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)ps:在训练过程中可以在命令行输入nvida-smi查看显存占用情况作业复习今天的内容,再巩固下代码。思考下为什么会出现这个问题。首先回顾下昨天的内容,我在训练开始和结束增加了time来查看运行时长。

2025-05-30 20:03:55 861

原创 【DAY33】MLP神经网络的训练

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

2025-05-29 22:08:33 633

原创 【DAY32】官方文档的阅读

很多绘图工具都是调用的底层的绘图包,所以要想绘制出想要的图表,需要先了解底层绘图包的语法。此时模型已经建模完毕,这是一个经典的三分类项目,之前在基础班的项目三提到过sklearn提供的示例数据集,不了解的同学自行百度了解下该数据。我们已经掌握了相当多的机器学习和python基础知识,现在面对一个全新的官方库,看看是否可以借助官方文档的写法了解其如何使用。可以鼠标悬停在这个类上,来查看定义这个类所需要的参数,以及每个参数的格式。参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。

2025-05-28 17:02:52 543

原创 【DAY31】文件的规范拆分和写法

1. 首先,按照机器学习的主要工作流程(数据处理、训练、评估等)将代码分离到不同的.py文件中。这是最基本也是最有价值的一步。2. 然后,创建一个utils.py来存放通用的辅助函数。3. 考虑将所有配置参数集中到一个config.py文件中。4. 为你的数据和模型产出物创建专门的顶层目录,如data/和models/,将它们与你的源代码(通常放在src/目录)分开。当遵循这些通用的拆分思路和原则时,项目结构自然会变得清晰。

2025-05-27 23:44:14 1060

原创 【DAY30】模块和库的导入

若编写一个计算圆面积的代码并保存为 `circle.py`,这个文件就是一个模块。使用时通过 `import circle` 导入模块,调用其中的函数(如 `circle.calculate_area(5)`)IDE(如 VSCode 或 PyCharm)通常会将你打开的项目文件夹设为“根目录”(或者说,运行时的工作目录)。Python 在导入模块时,会从这个根目录(以及其他一些标准位置和脚本所在的目录)开始查找。​​​​。

2025-05-26 18:43:27 1054

原创 【DAY29】复习日:类的装饰器

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

2025-05-25 23:52:07 367

原创 【DAY28】类的定义和方法

一个常见的类的定义包括了:1. 关键字class2. 类名3. 语法固定符号冒号(:)4. 一个初始化函数__init__(self)注意:注意:init左右各有两个下划线__,需要传入self这个特殊的参数。

2025-05-24 23:33:33 1088

原创 【DAY27】函数专题2:装饰器

内容来自@浙大疏锦行python打卡训练营知识点:装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值友情提示:今天的内容难度较大,也是在我之前学习的时候卡住我很久都没理解的地方,所以任务量不多,着重理解我的示例代码即可昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个@xxx,它就是装饰器装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。

2025-05-23 20:50:53 860

原创 【DAY26】函数专题1:函数定义与参数

定义一个简单的问候函数"""打印一句问候语。"""message = "大家好!欢迎学习Python函数定义!greet()可以看到上述函数没有参数,也没有返回值,调用这个函数的时候运行函数体中的内容带上注释是函数定义的良好习惯,尤其在复杂的项目中,更方便维护和调试。可以让ai给你补上注释。

2025-05-22 23:46:28 638

原创 【DAY25】异常处理

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

2025-05-21 23:59:54 604

原创 【DAY24】 元组和OS模块

内容来自@浙大疏锦行python打卡训练营知识点回顾:元组可迭代对象os模块作业:对自己电脑的不同文件夹利用今天学到的知识操作下,理解下os路径。

2025-05-20 23:59:15 657

原创 【DAY23】pipeline管道

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

2025-05-19 23:46:28 1009

原创 【DAY22】 复习日

自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码。内容来自@浙大疏锦行python打卡训练营。仔细回顾一下之前21天的内容。

2025-05-18 23:42:03 239

原创 【DAY21】 常见的降维算法

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

2025-05-17 22:10:49 969

原创 【DAY20】 奇异值SVD分解

线性代数概念回顾(可不掌握)奇异值推导(可不掌握)奇异值的应用特征降维:对高维数据减小计算量、可视化数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大)降噪:通常噪声对应较小的奇异值。通过丢弃这些小奇异值并重构矩阵,可以达到一定程度的降噪效果。推荐系统:在协同过滤算法中,用户-物品评分矩阵通常是稀疏且高维的。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。

2025-05-14 14:20:48 879

原创 【DAY19】常见的特征筛选算法

过去电脑性能比较差,特征数目太多计算起来很慢。同时特征中可能存在很多冗余特征干扰解释性、存在噪声特征干扰精度。所以在面对高维特征的时候常常需要引入特征降维,我们之前课程中的项目的特征也就小几十个,不太需要做降维,对于某些特征较多的数据,如基因数据、微生物数据、传感器数据等,特征较多,所以会考虑特征降维。特征降维一般有2种策略:1. 特征筛选:从n个特征中筛选出m个特征,比如方差筛选,剔除方差过小的特征;利用皮尔逊相关系数筛选;

2025-05-13 20:56:11 815

原创 【DAY18】推断聚类后簇的类型

1. 你最开始聚类的时候,就选择了你想最后用来确定簇含义的特征,那么你需要选择一些特征来进行聚类,那么你最后确定簇含义的特征就是这几个特征,而非全部。如你想聚类消费者购买习惯,那么他过去的消费记录、购买记录、购买金额等等,这些特征都与消费者购买习惯有关,你可以使用这些特征来确定簇含义,一些其他的特征,如消费者年龄,工作行业则不考虑。现在需要给这个簇赋予实际的含义,一般当你赋予实际含义的时候,你需要根据某几个特征来赋予,但是源数据特征很多,如何选择特征呢?内容来自@浙大疏锦行python打卡训练营。

2025-05-12 09:12:05 1081

原创 【DAY17】常见聚类算法

今天的主题是无监督算法中的聚类,常利用聚类来发现数据中的模式,并对每一个聚类后的类别特征进行可视化,以此得到新的特征---赋予实际含义。上述内容分成2天的内容来说,今天说聚类算法,明天说基于聚类进一步推断类型。目录引言聚类评估指标介绍 1. 轮廓系数 (Silhouette Score)2. CH 指数 (Calinski-Harabasz Index)3. DB 指数 (Davies-Bouldin Index)三种聚类算法KMeans 聚类算法原理确定簇数的方法:肘部法KMeans 算法的优缺点DBSC

2025-05-11 23:58:25 867

原创 【DAY16】数组的常见操作和形状

前面说了shap,这里涉及到数据形状尺寸问题,所以需要在这一节说清楚,后续的神经网络我们将要和它天天打交道。知识点:numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引:一维、二维、三维SHAP值的深入理解numpy数组的创建简单创建随机创建1. 在后续深度学习中,我们经常需要对数据进行随机化处理,以确保模型的泛化能力。2. 为了测试很多函数的性能,往往需要随机化生成很多数据。

2025-05-10 23:59:28 309

原创 【DAY15】复习日(没做完)

【代码】【DAY15】复习日(没做完)

2025-05-09 19:26:27 575

原创 【DAY14】SHAP图介绍

今日作业偏思考类型,有一定难度(暂未完成,等第二遍回来学再二编)参考上述文档补全剩余的几个图尝试确定一下shap各个绘图函数对于每一个参数的尺寸要求,如shap.force_plot力图中的数据需要满足什么形状?确定分类问题和回归问题的数据如何才能满足尺寸,分类采取信贷数据集,回归采取单车数据集。

2025-05-08 19:39:29 1055

原创 【DAY13】不平衡数据集的处理

知识点:不平衡数据集的处理策略:过采样、修改权重、修改阈值交叉验证代码预处理数据。

2025-05-07 14:51:31 702

原创 【DAY12】超参数调整专题2

剂量组合 → 进化选择。

2025-05-06 14:58:36 707

原创 【DAY11】超参数调整专题1

核心优势: 它不是随机选择下一个点,而是根据先前评估的结果建立一个概率模型(通常是高斯过程),预测哪些参数组合可能产生更好的结果,并据此选择下一个评估点。这使得它在寻找最优解方面通常比随机搜索更高效(用更少的迭代次数达到相似或更好的性能),特别是当模型训练(单次评估)非常耗时的时候。实际上,有着非常多的方式可以实现贝叶斯优化,上面的代码比较简洁美观,贝叶斯优化和网格搜索的代码书写风格高度一致。- 需要定义参数的搜索空间,与随机搜索类似,当搜索空间非常大时,它通常比网格搜索和随机搜索更有效。

2025-05-01 22:44:06 640

原创 【DAY10】

类型数据较为复杂多样,不便于后续的分析计算、容易引发类型错误,且不利于特征工程等操作,先处理它能为后续的数据处理和模型训练等工作奠定良好基础,提高整体效率和准确性。该检测哪些特征的异常值?:某些场景下,缺失值可能是重要特征(如用户未填写“收入”可能反映特定群体),需谨慎处理。:将非数值型数据(如文本、类别)转换为数值格式(如One-Hot编码、标签编码)。:标准化(Z-Score)或归一化(Min-Max),使不同量纲的特征可比。:加载数据(如CSV、Excel),查看数据分布、统计特征、字段含义等。

2025-04-30 21:15:41 776

原创 【DAY9】

热力图和子图的绘制进行映射,把字符串映射为数字。

2025-04-29 14:27:10 350

原创 【DAY8】

二分类的问题不需要独热编码,比如性别这个特征,男女不需要变成2个特征,性别男 性别女。因为他们二者自由度为1,如果是2个特征的话,性别男=1,那么性别女必定等于0.这样特征高度相关,没有价值。但是目前我们只会用到映射这个用法,他需要传入的是字典,因为字典的键值对,键是唯一的,值可以重复。这里我们给Home Oweners标签编码,实际上这个特征也可以独热编码,取决于你的理解。此时这个特征的含义不是性别,而是:是否为男性,1是男性,0是非男。- 有贷款:12 这个是有其他贷款,有房子,没房贷。

2025-04-28 22:56:43 358

空空如也

空空如也

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

TA关注的人

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