- 博客(50)
- 收藏
- 关注
原创 Python训练营打卡Day50-对抗生成网络
知识点回顾:对抗生成网络的思想:关注损失从何而来生成器、判别器nn.sequential容器:适合于按顺序运算的情况,简化前向传播写法leakyReLU介绍:避免relu的神经元失活现象ps;如果你学有余力对于gan的损失函数的理解,建议去找找视频看看,如果只是用,没必要学作业:对于心脏病数据集,对于病人这个不平衡的样本用GAN来学习并生成病人样本,观察不用GAN和用GAN的F1分数差异。
2025-09-01 12:46:43
806
原创 Python训练营打卡Day49-神经网络调参指南
知识点回顾:随机种子内参的初始化神经网络调参指南参数的分类调参的顺序各部分参数的调整心得作业:对于day41的简单cnn,看看是否可以借助调参指南进一步提高精度。
2025-08-31 23:27:39
1082
原创 Python训练营打卡Day48-预训练模型+CBAM模块
知识点回顾:resnet结构解析CBAM放置位置的思考针对预训练模型的训练策略差异化学习率三阶段微调作业:好好理解下resnet18的模型结构尝试对vgg16+cbam进行微调策略预训练模型的结构和权重是固定的,如果修改其中的模型结构,是否会大幅影响其性能。其次是训练的时候如何训练才可以更好的避免破坏原有的特征提取器的参数。所以今天的内容,我们需要回答2个问题。1. resnet18中如何插入cbam模块?2. 采用什么样的预训练策略,能够更好的提高效率?
2025-08-30 10:17:24
682
原创 Python训练营打卡Day47-CBAM注意力
SE 通道注意力的局限:仅关注 “哪些通道重要”,未考虑 “重要信息在空间中的位置”。CBAM 的突破:通道注意力(Channel Attention):分析 “哪些通道的特征更关键”(如图像中的颜色、纹理通道)。空间注意力(Spatial Attention):定位 “关键特征在图像中的具体位置”(如物体所在区域)。它的核心目标是通过学习的方式,自动获取特征图在通道和空间维度上的重要性,进而对特征图进行自适应调整,增强重要特征,抑制不重要特征,提升模型的特征表达能力和性能。
2025-08-29 08:00:00
371
原创 Python训练营打卡Day46-随机函数与广播机制
知识点回顾:随机张量的生成:torch.randn函数卷积和池化的计算公式(可以不掌握,会自动计算的)pytorch的广播机制:加法和乘法的广播机制ps:numpy运算也有类似的广播机制,基本一致作业:自己多借助ai举几个例子帮助自己理解即可。
2025-08-28 17:26:19
634
原创 Python训练营打卡Day45-注意力热图可视化
这个注意力热图是通过构子机制: register_forward_hook 捕获最后一个卷积层(conv3)的输出特征图。可视化部分同理,在训练完成后通过钩子函数取出权重or梯度,即可进行特征图的可视化、Grad-CAM可视化、注意力热图可视化。1. 通道权重计算:对特征图的每个通道进行全局平均池化,得到通道重要性权重。2. 热力图生成:将高权重通道的特征图缩放至原始图像尺寸,与原图叠加显示。①通道1可能关注整体轮廓,通道2关注纹理细节,通道3关注颜色分布。高关注区域(红色):模型认为对分类最重要的区域。
2025-08-27 18:49:21
275
原创 Python训练营打卡Day44-通道注意力(SE注意力)
其中注意力机制是一种让模型学会「选择性关注重要信息」的特征提取器,就像人类视觉会自动忽略背景,聚焦于图片中的主体(如猫、汽车)。transformer中的叫做自注意力机制,他是一种自己学习自己的机制,他可以自动学习到图片中的主体,并忽略背景。我们现在说的很多模块,比如通道注意力、空间注意力、通道注意力等等,都是基于自注意力机制的。从数学角度看,注意力机制是对输入特征进行加权求和,输出=∑(输入特征×注意力权重),其中注意力权重是学习到的。所以他和卷积很像,因为卷积也是一种加权求和。
2025-08-26 21:33:18
932
原创 Python训练营打卡Day43-Tensorboard使用介绍
知识点回顾:tensorboard的发展历史和原理tensorboard的常见操作tensorboard在cifar上的实战:MLP和CNN模型效果展示如下,很适合拿去组会汇报撑页数:作业:对resnet18在cifar10上采用微调策略下,用tensorboard监控训练过程。
2025-08-25 22:26:00
759
原创 Python训练营打卡Day42-预训练模型
3.1 预训练模型的训练策略那么什么模型会被选为预训练模型呢?比如一些调参后表现很好的cnn神经网络(固定的神经元个数+固定的层数等)。所以调用预训练模型做微调,本质就是用这些固定的结构+之前训练好的参数接着训练所以需要找到预训练的模型结构并且加载模型参数相较于之前用自己定义的模型有以下几个注意点1. 需要调用预训练模型和加载权重2. 需要 resize 图片让其可以适配模型3. 需要修改最后的全连接层以适应数据集。
2025-08-24 07:18:15
687
原创 Python训练营打卡Day41-Grad-CAM与Hook函数
知识点回顾回调函数lambda函数hook函数的模块钩子和张量钩子Grad-CAM的示例作业:理解下今天的代码即可在深度学习中,我们经常需要查看或修改模型中间层的输出或梯度。然而,标准的前向传播和反向传播过程通常是一个黑盒,我们很难直接访问中间层的信息。PyTorch 提供了一种强大的工具——hook 函数,它允许我们在不修改模型结构的情况下,获取或修改中间层的信息。它的核心价值在于让开发者能够动态监听、捕获甚至修改模型内部任意层的输入 / 输出或梯度,而无需修改模型的原始代码结构。
2025-08-23 23:48:06
941
原创 Python训练营打卡Day40-简单CNN
知识点回顾:彩色和灰度图片测试和训练的规范写法:封装在函数中展平操作:除第一个维度batchsize外全部展平dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout作业:仔细学习下测试和训练代码的逻辑,这是基础,这个代码框架后续会一直沿用,后续的重点慢慢就是转向模型定义阶段了。可以看到即使在深度神经网络情况下,准确率仍旧较差,这是因为特征没有被有效提取----真正重要的是特征的提取和加工过程。
2025-08-22 23:33:03
1620
原创 Python训练营打卡Day39-训练和测试的规范写法
批量维度不变性:无论进行flatten、view还是reshape操作,第一个维度batch_size通常保持不变。动态维度指定:使用-1让PyTorch自动计算该维度的大小,但需确保其他维度的指定合理,避免形状不匹配错误。
2025-08-21 08:57:18
608
原创 Python训练营打卡Day38-图像数据与显存
1.黑白图像模型的定义# 先归一化,再标准化transforms.ToTensor(), # 转换为张量并归一化到[0,1]transforms.Normalize((0.1307,), (0.3081,)) # MNIST数据集的均值和标准差,这个值很出名,所以直接使用])# 2. 加载MNIST数据集,如果没有会自动下载# 定义两层MLP神经网络self.flatten = nn.Flatten() # 将28x28的图像展平为784维向量。
2025-08-20 16:06:52
786
原创 Python训练营打卡Day36-早停策略和模型权重的保存
知识点回顾:过拟合的判断:测试集和训练集同步打印指标模型的保存和加载仅保存权重保存权重和模型保存全部信息checkpoint,还包含训练状态早停策略作业:对信贷数据集训练后保存权重,加载权重后继续训练50轮,并采取早停策略。
2025-08-18 12:41:51
323
原创 Python训练营打卡Day35-复习日
对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。
2025-08-17 23:18:34
374
原创 Python训练营打卡Day34-模型可视化与推理
知识点回顾:三种不同的模型可视化方法:推荐torchinfo打印summary+权重分布可视化进度条功能:手动和自动写法,让打印结果更加美观推理的写法:评估模式作业:调整模型定义时的超参数,对比下效果。一、模型结构可视化理解一个深度学习网络最重要的2点:1. 了解损失如何定义的,知道损失从何而来——把抽象的任务通过损失函数量化出来2. 了解参数总量,即知道每一层的设计才能退出---层设计决定参数总量为了了解参数总量,我们需要知道层设计,以及每一层参数的数量。
2025-08-16 23:37:00
726
原创 Python训练营打卡Day33-GPU训练及类的call方法
知识点回归:CPU性能的查看:看架构代际、核心数、线程数GPU性能的查看:看显存、看级别、看架构代际GPU训练的方法:数据和模型移动到GPU device上类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)
2025-08-15 23:38:55
337
原创 Python训练营打卡Day32-神经网络的训练
1.分类任务中,若标签是整数(如 0/1/2 类别),需转为long类型(对应 PyTorch 的torch.long),否则交叉熵损失函数会报错。2.回归任务中,标签需转为float类型(如torch.float32)。查看显卡信息的命令行命令(cmd中使用)数据预处理(归一化、转换成张量)PyTorch和cuda的安装。今日的代码,要做到能够手敲。继承nn.Module类。定义损失函数和优化器。
2025-08-14 23:32:44
658
原创 Python训练营打卡Day31-官方文档的阅读
1. GitHub 仓库:https://github.com/SauceCat/PDPbox。3.官方文档:https://pdpbox.readthedocs.io/en/latest。2.PyPl 页面:https://pypi.org/project/PDPbox/参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。官方文档的阅读和使用:要求安装的包和文档为同一个版本。一般通过github仓库都可以找到对应的官方文档。官方文档的检索方式:github和官网。绘图的理解:对底层库的调用。
2025-08-13 23:49:53
263
原创 Python训练营打卡Day29-模块和库的导入
①模块(Module)本质:以.py结尾的单个文件,包含Python代码(函数、类、变量等)。作用:将代码拆分到不同文件中,避免代码冗余,方便复用和维护。②包(Package)在python里,包就是库。本质:有层次的文件目录结构(即文件夹),用于组织多个块和子包。核心特征:包的根目录下必须包含一个init_.py 文件(可以为空),用于标识该目录是一个包。案例:若编写一个计算圆面积的代码并保存为 circle.py,这个文件就是一个块。
2025-08-11 22:37:13
459
原创 Python训练营打卡Day28-类的装饰器
我们之前是用复用的思想来看装饰器的,换一个角度理解,当你想修改一个函数的时候,可以通过装饰器方法来修改而无需重新定义这个函数。类也有修饰器,他的逻辑类似:接收一个类,返回一个修改后的类。复习类和函数的知识点,写下自己过去29天的学习心得,如对函数和类的理解,对python这门工具的理解等,未来再过几个专题部分我们即将开启深度学习部分。通过外部赋值,可以在不修改类定义的前提下,为类添加新方法或修改已有方法。通过类装饰器,可以在不修改类内部代码的情况下,为多个类统一添加功能(如日志、统计)
2025-08-10 22:45:44
333
原创 Python训练营打卡Day27-类的定义和方法
calculate_perimeter():计算周长(公式:2×(长+宽))。is_square() 方法,判断是否为正方形(长 == 宽)。calculate_circumference():计算圆的周长(公式:2πr)。shape_type="rectangle":创建长方形(参数:长、宽)。calculate_area():计算圆的面积(公式:πr²)。calculate_area():计算面积(公式:长×宽)。shape_type="circle":创建圆(参数:半径)。
2025-08-09 23:39:35
252
原创 Python训练营打卡Day26-函数专题2:装饰器
知识点回顾:装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值作业:编写一个装饰器 logger,在函数执行前后打印日志信息(如函数名、参数、返回值)
2025-08-08 23:01:37
295
原创 Python训练营打卡Day25-函数专题1:函数定义与参数
编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。函数的参数类型:位置参数、默认参数、不定参数。user_id 是一个必需的位置参数。
2025-08-07 23:08:51
761
原创 Python训练营打卡Day24-异常处理
知识点回顾:异常处理机制debug过程中的各类报错try-except机制try-except-else-finally机制作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。
2025-08-06 23:51:48
650
原创 Python训练营打卡Day22-pipeline管道
知识回顾:转化器和估计器的概念管道工程ColumnTransformer和Pipeline类作业:整理下全部逻辑的先后顺序,看看能不能制作出适合所有机器学习的通用pipeline基础概念pipeline在机器学习领域可以翻译为“管道”,也可以翻译为“流水线”,是机器学习中一个重要的概念。在机器学习中,通常会按照一定的顺序对数据进行预处理、特征提取、模型训练和模型评估等步骤,以实现机器学习模型的训练和评估。为了方便管理这些步骤,我门可以使用pipeline来构建一个完整的机器学习流水线。
2025-08-04 22:35:22
996
原创 Python训练营打卡Day21-复习日
自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码。最终结果在新生成的csv表格中。
2025-08-03 23:45:38
223
原创 Python训练营打卡Day20-常见的降维算法
知识点回顾:LDA线性判别PCA主成分分析t-sne降维作业:自由作业:探索下什么时候用到降维?降维的主要应用?或者让ai给你出题,群里的同学互相学习下。可以考虑对比下在某些特定数据集上t-sne的可视化和pca可视化的区别。
2025-08-02 23:41:42
1011
原创 Python训练营打卡Day19-奇异值SVD分解
对于任何矩阵(如结构化数据可以变为:样本特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算 Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大)
2025-08-01 22:46:34
234
原创 Python训练营打卡Day18-常见的特征筛选算法
方差筛选皮尔逊相关系数筛选lasso筛选树模型重要性shap重要性递归特征消除REF作业:对心脏病数据集完成特征筛选,对比精度。
2025-07-31 23:45:07
315
原创 Python训练营打卡Day17-推断聚类后簇的类型
参考示例代码对心脏病数据集采取类似操作,并且评估特征工程后模型效果有无提升。推断簇含义的2个思路:先选特征和后选特征。科研逻辑闭环:通过精度判断特征工程价值。通过可视化图形借助ai定义簇的含义。由图及AI分析可得,图1对应。男性心功能异质性高风险型。心功能过渡性风险关注型。男性中年心功能稳健型。女性中年心功能典型型。
2025-07-30 23:35:35
381
原创 Python训练营打卡Day16-常见聚类算法
【知识点】聚类的指标聚类常见算法:kmeans聚类、dbscan聚类、层次聚类三种算法对应的流程【聚类的流程】标准化数据选择合适的算法,根据评估指标调参( )将聚类后的特征添加到原数据中原则t-sne或者pca进行2D或3D可视作业:对心脏病数据集进行聚类。KMeans 聚类①算法原理KMeans 是一种基于距离的聚类算法,需要预先指定聚类个数,即 k。其核心步骤如下:1. 随机选择 k 个样本点作为初始质心(簇中心)。
2025-07-29 23:42:50
419
原创 Python训练营打卡Day15-数组的常见操作和形状
知识点:numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引:一维、二维、三维SHAP值的深入理解。
2025-07-27 23:22:09
286
原创 Python训练营打卡Day14-SHAP图的绘制
SHAP(SHapley Additive exPlanations)图是用于解释机器学习模型预测结果的强大工具。尝试确定一下shap各个绘图函数对于每一个参数的尺寸要求,如shap.force_plot力图中的数据需要满足什么形状?三、确定分类问题和回归问题的数据如何才能满足尺寸,分类采取信贷数据集,回归采取单车数据集。②SHAP 特征重要性蜂巢图 (Summary Plot - Violin)SHAP 特征重要性条形图 (Summary Plot - Bar)⑤ SHAP 特征重要性决策图。
2025-07-26 23:02:32
724
原创 Python训练营打卡Day13-不平衡数据的处理
从示例代码可以看到效果没有变好,所以很多步骤都是理想是好的,但是现实并不一定可以变好。这个实验仍然有改进空间,如下。1. 没做smote+过采样+修改权重的组合策略,有可能一起做会变好。2. 没有调参,有可能调参后再取上述策略可能会变好。不平衡数据集的处理策略:过采样、修改权重、修改阈值。
2025-07-25 23:46:19
332
原创 Python训练营打卡Day12-启发式算法
遗传算法是一种模拟自然进化过程的优化算法,灵感来自达尔文的“物竞天择,适者生存”理论。它通过模拟基因的选择、交叉(杂交)和变异来逐步优化解决方案,常用于解决复杂的优化问题。
2025-07-24 22:50:57
360
原创 Python训练营打卡Day11-常见的调参方式
贝叶斯优化(2种实现逻辑,以及如何避开必须用交叉验证的问题)随机搜索(简单介绍,非重点 实战中很少用到,可以不了解)time库的计时模块,方便后人查看代码运行时长。
2025-07-23 23:21:55
241
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅