自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 DAY50预训练和cbam

预训练模型的结构和权重是固定的,如果修改其中的模型结构,是否会大幅影响其性能。其次是训练的时候如何训练才可以更好的避免破坏原有的特征提取器的参数。所以今天的内容,我们需要回答2个问题。

2025-06-11 23:47:11 669

原创 DAY49 CBAM

CBAM 是一种能够集成到任何卷积神经网络架构中的注意力模块。它的核心目标是通过学习的方式,自动获取特征图在通道和空间维度上的重要性,进而对特征图进行自适应调整,增强重要特征,抑制不重要特征,提升模型的特征表达能力和性能。简单来说,它就像是给模型装上了 “智能眼镜”,让模型能够更精准地看到图像中关键的部分CBAM 由两个主要部分组成:通道注意力模块(Channel Attention Module)和空间注意力模块(Spatial Attention Module)。

2025-06-11 00:14:17 450

原创 day48 张量

尤其需要搞懂张量的维度、以及计算后的维度,这对于你未来理解复杂的网络至关重要。

2025-06-09 22:20:56 540

原创 47 通道注意力 热力图

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

2025-06-09 22:04:12 834

原创 DAY46

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

2025-06-07 23:56:51 833

原创 DAY45 可视化

之前的内容中,我们在神经网络训练中,为了帮助自己理解,借用了很多的组件,比如训练进度条、可视化的loss下降曲线、权重分布图,运行结束后还可以查看单张图的推理效果。如果现在有一个交互工具可以很简单的通过按钮完成这些辅助功能那就好了。所以我们现在介绍下tensorboard这个可视化工具,他可以很方便的很多可视化的功能,尤其是他可以在运行过程中实时渲染,方便我们根据图来动态调整训练策略,而不是训练完了才知道好不好。

2025-06-06 22:08:30 659

原创 DAY44 cnn训练

模型年份提出团队关键创新点层数参数量ImageNet Top-5错误率典型应用场景预训练权重可用性LeNet-51998Yann LeCun等首个CNN架构,卷积层+池化层+全连接层,Sigmoid激活函数7~60KN/A手写数字识别(MNIST)无(历史模型)AlexNet2012Alex Krizhevsky等ReLU激活函数、Dropout、数据增强、GPU训练860M15.3%大规模图像分类PyTorch/TensorFlow官方支持VGGNet。

2025-06-05 23:30:02 664

原创 DAY43 复习日

src/grad_cam.py 已创建。首先,我将在您的工作区 D:/Apython_study/ 中创建一个名为 kaggle_cnn_gradcam 的新文件夹,并在其中添加一个 README.md 文件。下载Kaggle数据集: 您需要选择一个Kaggle图像分类数据集(例如猫狗分类),下载它,并解压到 kaggle_cnn_gradcam/data/ 文件夹中。首先,我将在您的工作区 D:/Apython_study/ 中创建一个名为 kaggle_cnn_gradcam 的新文件夹。

2025-06-04 23:14:49 1115

原创 DAY42 热力图

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

2025-06-03 23:52:26 646

原创 DAY41 CNN

可以看到即使在深度神经网络情况下,准确率仍旧较差,这是因为特征没有被有效提取----真正重要的是特征的提取和加工过程。MLP把所有的像素全部展平了(这是全局的信息),无法布置到局部的信息,所以引入了卷积神经网络。(在之前的复试班已经交代清楚了,如果不清楚什么是卷积神经网络,请自行学习下相关概念)复试班的计算机视觉部分的讲义卷积层是特征提取器,池化层是特征压缩器。他们二者都是在做下采样操作。注意点:机器视觉不是计算机视觉。

2025-06-02 23:49:13 1150 1

原创 DAY40 训练和测试

本文介绍了图像数据处理的规范写法,重点对比了与结构化数据处理的差异:1)模型定义时需要展平图像;2)大数据集需分批处理并使用Dataset和DataLoader。通过MNIST数据集示例,展示了完整流程:数据预处理(ToTensor和Normalize)、模型定义(MLP网络)、训练函数封装(记录每个iteration的损失)和性能评估。文章特别强调了规范写法的优势:参数易修改、代码可复用,并指出未来优化方向(早停策略需引入验证集)。代码实现了单批次损失跟踪和准确率统计功能,为后续多模型对比奠定了基础。

2025-06-01 23:16:53 1117

原创 【无标题】

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

2025-05-31 22:54:55 920

原创 DAY38 Dataset DataLoader

在遇到大规模数据集时,显存常常无法一次性存储所有数据,所以需要使用分批训练的方法。为此,PyTorch提供了DataLoader类,该类可以自动将数据集切分为多个批次batch,并支持多线程加载数据。此外,还存在Dataset类,该类可以定义数据集的读取方式和预处理方式。为了引入这些概念,我们现在接触一个新的而且非常经典的数据集:MNIST手写数字数据集。该数据集包含60000张训练图片和10000张测试图片,每张图片大小为28*28像素,共包含10个类别。

2025-05-30 23:56:24 704

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

4f.2f100.2f训练集的loss在下降,但是有可能出现过拟合现象:模型过度学习了训练集的信息,导致在测试集上表现不理想。所以很自然的,我们想同步打印测试集的loss,以判断是否出现过拟合现象。

2025-05-29 23:13:36 1068

原创 DAY 36神经网络加速器easy

仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。●作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。●探索性作业(随意完成):尝试进入nn.Module中,查看他的方法1.4f.2f.2f好的,我们来整理一下你的项目文件,并详细解释神经网络模型和训练脚本。

2025-05-28 20:53:40 965

原创 DAY35

构建神经网络的时候。

2025-05-27 20:16:29 657

原创 DAY34

1.4f.2f。

2025-05-26 21:41:17 870

原创 DAY33 简单神经网络

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

2025-05-25 22:36:56 1116

原创 【无标题】

在官方文档中,通常会有一个“API Reference”或“Documentation”部分,列出所有可用的函数、类和方法。大多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。可以鼠标悬停在这个类上,来查看定义这个类所需要的参数,以及每个参数的格式。作业:参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。在官方文档介绍中的plot方法最下面,写明了参数和对应的返回值。2.官方文档的阅读和使用:要求安装的包和文档为同一个版本。DAY 32 官方文档的阅读。

2025-05-24 23:33:33 538

原创 DAY31

浙大疏锦行-CSDN博客一个典型的机器学习项目通常包含以下阶段:notebooks/ 或 experiments/ 目录:用于初期的数据探索、快速实验、模型原型验证。这部分往往是最开始的探索阶段,后面跑通了后拆分成了完整的项目,留作纪念用。总结一下通用的拆分起步思路:当遵循这些通用的拆分思路和原则时,项目结构自然会变得清晰。常常会看到 if name == “main”: 这个写法。它的主要作用是区分当前脚本是直接运行还是被导入。如果直接运行这个文件,则__name__等于__main__,若这个文件被其

2025-05-23 22:13:59 977

原创 DAY30

本文介绍了如何通过Python掌握深度学习和机器学习的基础知识及相关工具。首先,文章详细讲解了Python中模块和包的导入方式,包括标准导入、从库中导入特定项以及命名空间的管理。接着,文章通过实例展示了如何在不同目录结构下导入和使用模块,强调了__init__.py文件在包管理中的重要性。最后,文章提到了一些第三方库的底层实现,如OpenCV,其核心是用C++编写并通过Python接口调用,以提高性能。这些内容为学习深度学习和机器学习提供了必要的Python编程基础。

2025-05-22 20:40:27 941

原创 【无标题】

所以你还是需要理解 装饰器本质就是一个语法糖,对类而言:@decorator 语法只是 MyClass = decorator(MyClass) 的简写,即使类已定义,仍可手动调用装饰器函数修改它。我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。简单来说,继承是"垂直"扩展(在类的层次结构中向下扩展),而装饰器是"水平"扩展(在不相关的类之间添加共同功能)。类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。

2025-05-21 23:47:50 899

原创 DAY28类

类是对属性和方法的封装,可以理解为模板,通过对模板实例化可以实现调用这个类的属性和方法。比如创建一个随机森林类,然后就可以调用他的训练和预测方法。现在我们来学一下自己定义一个类,这会让我们对于类这个对象理解的更加深刻。注意:注意:init左右各有两个下划线__,需要传入self这个特殊的参数。

2025-05-20 14:55:24 621

原创 DAY27

装饰器本质上是一个 Python 函数,它可以让其他函数或方法在不需要做任何代码修改的前提下增加额外功能。–本质是如果让一个函数具备太多功能,那么他看起来就会比较乱,可读性比较差,如果把其中一部分相同甚至可以复用的功能用一个新的函数来调用,然后让2个函数同时实现,就会做到。

2025-05-19 22:57:04 562

原创 DAY26 函数定义与参数

●任务: 编写一个名为 describe_shape 的函数,该函数接收图形的名称 shape_name (必需),一个可选的 color (默认 “black”),以及任意数量的描述该图形尺寸的关键字参数 (例如 radius=5 对于圆,length=10, width=4 对于矩形)。●任务: 编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。●要求:函数接收一个位置参数 radius。

2025-05-18 20:07:53 692

原创 DAY25异常处理机制

try-except的异常处理模块当异常发生时,Python会创建一个异常对象 (exception object)(通常是 Exception 类的子类实例)。如果这段可能出错的代码位于 try 语句块中,程序流程会寻找并跳转到匹配的 except 语句块(如果存在)来处理这个异常。程序首先尝试执行 try 块中的代码。如果 try 块中的代码没有发生异常,则 except 块会被跳过,程序继续执行 try-except 结构之后的代码。在 try-except 的基础上增加了 else 子句。

2025-05-18 00:00:37 1004

原创 DAY24元组和OS模块

很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求。

2025-05-16 19:32:16 803

原创 DAY23机器学习管道 pipeline

ColumTransformer的核心根据数据类型分别定义# --- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)有序分类特征(标签编码):1.这里的类别顺序需要和你之前映射的顺序一致2.有序特征的类别顺序,这个顺序决定了编码后的数值大小。

2025-05-15 23:59:36 705

原创 DAY21降维算法

t-SNE 是一种强大的非线性降维技术,主要用于高维数据的可视化。它通过在低维空间中保持高维空间中数据点之间的局部相似性(邻域关系)来工作。

2025-05-15 01:23:40 546

原创 DAY20 SVD奇异值

正交矩阵:列向量正交且单位化,在 SVD 中用于旋转或反射(UUU和VVV特征值与特征向量:描述矩阵在某些方向上的缩放特性,是计算奇异值的基础。对称矩阵:具有实特征值和正交特征向量,SVD 通过构造ATAA^T AATA和AATA A^TAAT利用其性质。矩阵分解:将复杂矩阵分解为简单矩阵乘积,是降维和数据分析的核心工具。输入:一个任意的矩阵AAA,尺寸为m×nm \times nm×n(其中mmm是行数,nnn是列数,可以是矩形矩阵,不必是方阵)。

2025-05-13 23:58:58 972

原创 DAY22kaggle泰坦尼克号

参考了数据处理省略直接上模型。

2025-05-12 21:50:55 586

原创 DAY 19 特征降维

所以在面对高维特征的时候常常需要引入特征降维,我们之前课程中的项目的特征也就小几十个,不太需要做降维,对于某些特征较多的数据,如基因数据、微生物数据、传感器数据等,特征较多,所以会考虑特征降维。特征降维一般有2种策略:1. 特征筛选:从n个特征中筛选出m个特征,比如方差筛选,剔除方差过小的特征;利用皮尔逊相关系数筛选;lasso筛选(lasso自带的系数可以理解为重要性)、利用树模型自带的重要性、shap重要性等筛选;特征递归方法2. 特征组合:从n个特征中组合出m个特征,如pca等。

2025-05-11 22:43:25 705

原创 DAY18聚类后推断实际含义

而非全部。如你想。

2025-05-10 22:41:42 612

原创 DAY17无监督算法中的聚类

三种常用的聚类效果评估指标,分别用于衡量聚类的质量和簇的分离与紧凑程度1. 轮廓系数 (Silhouette Score)轮廓系数衡量每个样本与其所属簇的紧密程度以及与最近其他簇的分离程度。- 轮廓系数越接近 1,表示样本与其所属簇内其他样本很近,与其他簇很远,聚类效果越好。- 轮廓系数越接近-1,表示样本与其所属簇内样本较远,与其他簇较近,聚类效果越差(可能被错误分类)。- 轮廓系数接近0,表示样本在簇边界附近,聚类效果无明显好坏。选择轮廓系数最高的 `k` 值作为最佳簇数量。

2025-05-09 23:58:09 573

原创 DAY16 数组的创建

1. 理解数组的维度 (Dimensions)NumPy 数组的或称为的概念,与我们日常理解的维度非常相似。直观判断:数组的维度层数通常可以通过打印输出时**中括号 `[]` 的嵌套层数**来初步确定:一层 `[]`: 一维 (1D)数组。两层 `[]`: 二维 (2D)数组。三层 `[]`: 三维 (3D)数组,依此类推。

2025-05-09 00:03:03 1046

原创 DAY14SHAP可解释分析

为什么会对特定输入做出特定预测。SHAP 提供了一种统一的方法来解释模型的输出。对预测有多大贡献SHAP (SHapley Additive exPlanations) 的核心基于博弈论中的Shapley 值概念。想象一个合作游戏:1. 玩家 (Players):模型的特征 (Features)就是玩家。2. 游戏 (Game): 目标是预测某个样本的输出值。3. 合作 (Coalition): 不同的特征子集可以“合作”起来进行预测。

2025-05-06 17:19:06 698

原创 DAY13不平衡数据集的处理:权重

2. **优先尝试根本方法:** 通常建议首先尝试**修改权重 (`class_weight='balanced'`)** 或 **数据采样方法 (如 SMOTE)**,因为它们试图从源头改善模型学习。4. **阈值调整作为补充:** 修改阈值可以作为一种**补充手段**或**最后的微调**。3. **交叉验证评估:** 在使用 `class_weight` 或采样方法时,务必使用**分层交叉验证 (Stratified K-Fold)** 来获得对模型性能的可靠估计。修改模型的**损失函数**。

2025-05-06 00:08:30 596

原创 DAY12遗传算法

1. 遗传算法2. 粒子群优化3. 模拟退火运行与处理好的代码。

2025-05-04 22:53:12 1069

原创 DAY11超参数调整

缺点:

2025-05-03 23:50:39 832

原创 DAY10模型训练

1. 导入库2. 读取数据查看数据信息--理解数据3. 缺失值处理4. 异常值处理5. 离散值处理6. 删除无用列7. 划分数据集8. 特征工程9. 模型训练10. 模型评估11. 模型保存12. 模型预测。

2025-05-02 22:47:04 944

空空如也

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

TA关注的人

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