- 博客(59)
- 收藏
- 关注
原创 Day 47 训练
在这里,我们用它来捕获目标卷积层(model.conv3)输出的特征图(activation_maps)。更高级的技术,如类激活映射(CAM)、梯度加权类激活映射(Grad-CAM)及其变种(Grad-CAM++, Score-CAM等),通过结合梯度信息来计算特征图的权重,通常能提供更精确、更与类别相关的注意力可视化。前向传播:执行outputs = model(images),这会正常计算模型的输出,并在经过model.conv3时触发我们注册的钩子,从而将特征图存入activation_maps。
2025-06-12 16:09:47
547
原创 DAY 46训练
在深度学习领域,注意力机制已成为一种关键的技术。它赋予模型“选择性关注重要信息”的能力,就像人类视觉会自动聚焦于图片主体而忽略背景。本文将深入探讨注意力机制的原理、特征图可视化以及通道注意力的实现与效果。深度学习的发展历程中,特征提取方法经历了从 onehot、elmo 到 self-attention 及 encoder-bert 等不同阶段。这些方法各有特点,从弱到强逐步发展。Transformer 中的自注意力机制是一种“自己学习自己”的方式,能自动聚焦于关键信息而忽略背景。数学上,它对输入特征进行加
2025-06-12 00:37:10
452
原创 DAY45 训练
在神经网络训练过程中,各种辅助组件如训练进度条、可视化 loss 曲线、权重分布图等能极大提升我们的理解与训练效果。而 TensorBoard 这一可视化工具,能够轻松整合这些功能,实现训练过程的实时监控与动态调整,下面将详细介绍其相关操作。TensorBoard 的核心在于将训练数据先记录到日志文件,再通过网页展示。安装命令为,但刚才尝试解析该链接时因网络问题未能成功,可能是链接合法性或网络状况导致,可检查链接后重试,若无需解析此链接,可继续阅读后续内容。以下是 TensorBoard 核心代码解析(无需
2025-06-10 19:41:23
563
原创 DAY 44 训练
从 1998 年 Yann LeCun 等人提出的 LeNet-5 验证 CNN 可行性,到 2012 年 AlexNet 引发深度学习复兴,再到 2015 年 ResNet 解决超深网络训练难题,预训练模型不断发展。后续模型如 DenseNet、MobileNet、EfficientNet 等在特征复用、计算效率、自动化设计等方面持续优化。LeNet-5:首个 CNN 架构,包含卷积层、池化层、全连接层,采用 Sigmoid 激活函数,主要用于手写数字识别(MNIST)。AlexNet。
2025-06-09 22:53:34
861
原创 DAY 43 训练
在当今数字化时代,图像分类任务作为计算机视觉领域的重要基石,正推动着诸多行业的智能化转型。本文将带您深入探索如何利用 PyTorch 框架高效实现猫狗二分类模型的构建与训练,并借助 Grad-CAM 技术直观可视化模型决策依据,助力您快速踏入深度学习实践领域。训练集经随机裁剪与水平翻转增强数据多样性,转化为张量后标准化;优质的数据预处理是模型成功的关键起点。精心反归一化还原图像,叠加热力图直观呈现关键区域,助力理解模型决策逻辑。多轮迭代训练,动态监测损失与准确率,逐步优化模型性能。
2025-06-08 17:22:41
406
原创 Day42 训练
摘要:Grad-CAM技术通过PyTorch的hook机制打开深度学习模型"黑盒",可视化CNN决策过程。该方法利用反向传播梯度信息生成类激活映射,直观显示图像关键区域。实现过程包括:1) 定义模块/张量hook监听中间层数据;2) 计算特征图梯度权重;3) 生成热力图并叠加原图。该技术可应用于模型调试、决策解释和数据评估,在医疗影像等高价值领域尤为重要。研究表明,Grad-CAM结合hook函数能有效提升模型可解释性,为深度学习研究提供关键分析工具。(150字)
2025-06-07 16:59:01
616
原创 Day 41 训练
Python复制#====================== 2. CNN模型定义 ======================# 第一个卷积块# 第二个卷积块# 第三个卷积块# 全连接层# 保存特征图用于可视化# 第一个卷积块# 第二个卷积块# 第三个卷积块# 全连接层我定义了一个简单的 CNN 模型SimpleNet,它包含三个卷积块,每个卷积块后都跟着 Batch Normalization 层、ReLU 激活函数和最大池化层。最后是全连接层用于分类。
2025-06-06 18:53:50
265
原创 Day 40训练
self.flatten = nn.Flatten() # 将 28x28 图像展平为 784 维向量return x数据处理规范化:利用DataLoader和Dataset对数据进行分批次处理,提高数据加载效率。模型结构清晰化:明确展平操作在图像任务中的应用,彩色图像需考虑通道维度。训练测试函数封装:将训练和测试逻辑封装为函数,便于参数调整与复用,为多模型对比奠定基础。迭代损失记录:记录每个迭代的损失,绘制损失曲线辅助训练过程分析。
2025-06-05 19:50:59
905
原创 Day39 训练
图像数据处理是深度学习的一个重要分支,从理解数据结构到构建神经网络模型,再到优化显存管理,每一步都充满了技巧和智慧。希望这篇博客能为大家在图像处理的道路上提供帮助,让大家的模型在显存的舞台上绽放光彩。未来,我们将继续探索更高效的模型结构和优化策略,共同揭开深度学习的更多奥秘。@浙大疏锦行。
2025-06-04 17:23:19
664
原创 Day38 训练
Dataset类是PyTorch中所有数据集的基类。数据存储路径/来源:如文件路径、数据库查询等原始数据的读取方式:如图像解码为PIL对象、文本读取为字符串等样本的预处理逻辑:如裁剪、翻转、归一化等,通常通过transform参数实现返回值格式:如Dataset__len__():返回数据集的样本总数:根据索引返回对应样本的数据和标签DataLoader类负责将数据集切分为多个批次(batch),并支持多线程加载数据。批量大小(batch_size)
2025-06-03 15:52:57
475
原创 Day 37 训练
通过本文的实例,我们详细介绍了如何在 PyTorch 中进行模型训练、保存与加载,以及如何应用早停法来防止过拟合。这些技术在实际的深度学习项目中具有广泛的应用价值。掌握这些技能,将有助于您更好地构建和优化深度学习模型。浙大疏锦行。
2025-06-02 17:30:10
492
原创 Day 36训练
本项目的目标是利用给定的数据集,训练一个神经网络模型,以预测个人是否会发生信用违约。数据集包含多种特征,如年度收入、信用评分、当前贷款金额等,以及目标变量“Credit Default”(信用违约)。我选择了二元交叉熵损失函数(BCEWithLogitsLoss)和Adam优化器。
2025-06-01 17:57:21
449
原创 Day 35 训练
self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层self.fc2 = nn.Linear(10, 3) # 隐藏层到输出层return out# 实例化模型并移至GPU定义了一个简单的多层感知机(MLP)模型,包含一个输入层、一个隐藏层和一个输出层。输入层接收 4 个特征维度的数据,隐藏层有 10 个神经元并使用 ReLU 激活函数,输出层有 3 个神经元,用于对应鸢尾花的 3 个类别。通过将模型放置在指定设备上。
2025-06-01 00:27:35
578
原创 Day 34 训练
定义__call__是 Python 中的一个特殊魔术方法,当一个类的实例被像函数一样调用时,会触发该方法。它允许类的实例表现得像函数一样,同时还能保留对象的内部状态。示例不带参数的__call__方法:定义了一个Counter类,在其__call__方法中,每次调用实例时,内部的count属性会加 1 并返回当前值。通过counter()的方式调用实例,可以实现计数功能,且每次调用都会更新内部状态。带参数的__call__方法:定义了一个Adder类,在其__call__方法中,接受两个参数a和b。
2025-05-30 22:24:27
765
原创 Day 33 训练
定义一个简单的全连接神经网络模型,包含一个输入层(4 个神经元,对应 4 个特征)、一个隐藏层(10 个神经元)和一个输出层(3 个神经元,对应 3 个分类)。class MLP(nn.Module): # 定义一个多层感知机(MLP)模型,继承父类nn.Moduledef __init__(self): # 初始化函数super(MLP, self).__init__() # 调用父类的初始化函数self.fc1 = nn.Linear(4, 10) # 输入层到隐藏层。
2025-05-29 15:20:31
999
原创 Day32 训练
通过今天的实践,我们学习了如何利用 PDPbox 库来解读机器学习模型的预测逻辑。理解官方文档的结构:找到“API Reference”或“Documentation”部分,查看函数和类的详细说明。掌握类和方法的用法:关注类的传入参数格式和方法的返回值。利用绘图工具进行个性化设置:了解底层绘图包(如 Plotly)的语法,以便对图表进行进一步的定制。
2025-05-27 18:10:26
784
原创 Day 31 训练
掌握项目模块化的技巧,是提升开发效率和代码质量的重要一步。通过合理的文件组织和模块划分,我们不仅可以使项目结构更加清晰,还能提高代码的可维护性和复用性。在实际开发中,灵活运用、编码格式和类型注解等技巧,将使我们的项目更加健壮和专业。
2025-05-25 22:34:00
278
原创 Day 29 训练
print("这是类内部定义的方法")这种方式简单直观,是定义类方法的常规方式。方法可以直接访问类的其他成员,包括私有成员。print("这是外部定义的方法")passMyClass.external_method = external_method # 动态添加方法这种方式允许我们在类定义完成后再动态添加方法,常用于装饰器、元类和动态编程场景。需要注意的是,外部定义的方法需要通过self或类名显式访问类的其他成员。装饰器的本质是语法糖。对于类装饰器而言,@decorator语法实际上是的简写。
2025-05-23 19:33:07
789
原创 Day 28 训练
在学习 Python 的过程中,类是一个重要的概念。今天,我们来深入探讨一下类的定义与继承。现在,我们来学习如何自己定义一个类,这将帮助我们对类这一概念有更深刻的理解。关键字 class:用于声明一个类。类名:通常遵循大驼峰命名法(UpperCamelCase),即每个单词的首字母都大写。:在类名后面加上冒号表示类的开始。初始化函数init(self):用于初始化类的实例,注意 init 左右各有两个下划线,需要传入 self 这个特殊的参数,它指向类的实例化地址。
2025-05-22 19:21:51
826
原创 Day 27 训练
掌握装饰器技巧,可以显著提升代码的复用性和可维护性。建议读者尝试实现一个支持超时中断的装饰器,这将涉及信号处理和多线程技术,是很好的进阶练习。原因:Python语法规定所有位置参数必须出现在关键字参数之前。
2025-05-21 16:20:12
513
原创 DAY 26 训练
●任务: 编写一个名为 describe_shape 的函数,该函数接收图形的名称 shape_name (必需),一个可选的 color (默认 “black”),以及任意数量的描述该图形尺寸的关键字参数 (例如 radius=5 对于圆,length=10, width=4 对于矩形)。●任务: 编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。3.函数的参数类型:位置参数、默认参数、不定参数。
2025-05-20 16:45:08
553
原创 Day 25 训练
Python 的异常处理机制赋予了程序强大的容错能力。当程序运行时遭遇意外情况(即异常),它不会直接崩溃,而是可以按照设计优雅地处理这些错误,甚至继续执行后续逻辑或以可控方式结束。当异常发生时,Python 会创建一个异常对象(通常是 Exception 类的子类实例)。如果异常代码位于 try 语句块中,程序会寻找并跳转到匹配的 except 语句块来处理异常。
2025-05-19 16:17:09
941
原创 Day 24 训练
元组是一种有序且不可变的数据结构,与列表类似,但它不能被修改。这种特性使得元组在需要固定数据结构的场景中非常有用,例如在深度学习中,模型的参数和形状一旦定义,就不应该被随意修改。在 Python 编程中,元组和 OS 模块是两个非常重要的概念。元组作为一种不可变的数据结构,广泛应用于各种场景,尤其是在深度学习中。可迭代对象是 Python 中一个非常核心的概念,它指的是那些能够一次返回其成员的对象,可以在循环中遍历它们。中,每个步骤被定义为一个元组,包含步骤的名称和处理对象。函数获取元组的长度。
2025-05-18 18:40:03
532
原创 产品经理入门(2)产品体验报告
按照产品方向分析各个指标——包括有效使用时间,市场规模等。3. 用户分析——对用户通过各项指标画像。4.产品体验——对各项功能与设计的体验。可以从各大平台搜产品介绍。重点在产品体验——优点。
2025-05-17 20:14:35
251
原创 DAY 23 训练
)])])],print("\nColumnTransformer (预处理器) 定义完成。")通过使用 pipeline,我们可以将整个机器学习工作流程封装成一个简洁的流程,提高代码的可读性和可维护性。同时,pipeline 还可以帮助我们防止数据泄露,简化超参数调优,提高模型的性能和稳定性。在实际项目中,我们可以使用 pipeline 来构建复杂的机器学习工作流,提高我们的工作效率。希望今天的分享能够帮助大家更好地理解和使用机器学习管道。@浙大疏锦行。
2025-05-17 17:36:37
670
原创 产品经理入门——认识产品经理
2.能力素养:沟通能力,学习能力,提炼能力,用户洞察,IQ/EQ/AQ,抗压能力。1.专业技术:业务分析,需求挖掘,需求分析,产品规划,产品设计,数据分析。3.加分项:行业领悟,商业思维,市场能力,领导力,项目管理。大多为功能型产品经理。
2025-05-16 20:55:33
258
原创 Day 22 训练
泰坦尼克号沉船事件是历史上著名的海难事故。通过对乘客信息(如年龄、性别、船票等级等)进行分析,我们可以构建机器学习模型预测乘客的生存概率。这不仅是一个经典的机器学习案例,还能帮助我们理解不同因素对生存率的影响。
2025-05-16 18:34:40
648
原创 Day 21 训练
本文介绍了几种常见的降维算法,包括无监督的 PCA 和 t-SNE,以及有监督的 LDA。通过实际代码演示了它们的应用,并比较了它们在随机森林分类器上的性能。PCA 适用于线性数据,t-SNE 适用于高维数据的可视化,而 LDA 适用于有监督的分类任务。在实际应用中,可以根据数据的特点和任务的需求选择合适的降维算法。@浙大疏锦行。
2025-05-15 18:59:16
980
原创 DAY 20 训练
选取前 k 个奇异值后,相应地取 U 矩rix 的前 k 列、Σ 矩阵的前 k 个奇异值以及 VT 矩阵的前 k 行,构建近似矩阵 Ak=UkΣkVTk。正交矩阵是一类特殊矩阵,其列向量彼此正交且为单位向量。矩阵分解的本质是将复杂矩阵拆解为多个简单矩阵的乘积形式,它能挖掘数据的潜在结构,实现数据的降维、压缩以及特征提取,是众多数据分析与机器学习算法的核心环节。U 的列向量与 V 的列向量分别对应左右奇异向量,它们与奇异值配合,刻画出数据的主要模式与结构,是理解数据特征、挖掘数据价值的关键要素。
2025-05-14 16:20:01
896
原创 Day 19 训练
在本博客中,我们将通过一个信用违约数据集的实际案例,深入学习并实践六种常见的特征降维方法:方差筛选、皮尔逊相关系数筛选、Lasso筛选、树模型重要性筛选、SHAP重要性筛选以及递归特征消除(RFE)。其核心思想是:特征的方差反映了数据的变化程度,方差很小的特征几乎没有任何变化,对模型的预测帮助不大。SHAP重要性筛选后,模型的准确率保持在76%左右,正类的精确率和召回率与树模型重要性筛选相当。树模型重要性筛选后,模型的准确率保持在76%左右,正类的召回率有所下降,但精确率有所提高。对于分类问题,我们使用。
2025-05-13 16:29:40
812
原创 DAY 18 训练
第一个簇 - 优质信用稳健财务型特征总结:在债务合并用途上表现一致,几乎无破产记录,信用问题极少,资金用途集中且很少涉及特殊类别。财务状况稳定,信用良好,资金流向明确。定义依据:各项关键财务和信用指标表现优异,显示出良好的财务自律性和信用履约能力,所以定义为 “优质信用稳健财务型”。第二个簇 - 较稳健但信用有分化财务型特征总结:多数无债务合并需求,破产情况少见,但信用问题上存在个体差异,资金用途有一定分散性。整体财务状况相对稳定,但在信用和资金使用方向上不如第一个簇表现一致。定义依据。
2025-05-12 16:29:15
703
原创 DAY 17 训练
聚类算法是一种无监督学习方法,通过将相似的数据样本自动分组到不同的簇(cluster)中,使得同一簇内的样本相似度高而不同簇间的样本差异大。常见的聚类算法包括K-means(基于距离划分)、DBSCAN(基于密度划分)和层次聚类(基于树状结构划分),广泛应用于客户分群、异常检测、图像分割等领域。以下是三种常用的聚类效果评估指标,分别用于衡量聚类的质量和簇的分离与紧凑程度:KMeans 是一种基于距离的聚类算法,需要预先指定聚类个数,即 。其核心步骤如下:先对数据标准化对每个k值进行训练评估并用图像可视
2025-05-11 23:57:15
824
原创 Day 16 训练
NumPy 数组是数据处理的核心工具,其多维结构与丰富操作为数据预处理、特征工程等提供了便利。SHAP 值则是模型解释的关键方法,帮助我们理解复杂模型的决策逻辑。在数据科学实践中,二者相辅相成,共同助力数据分析与模型优化。掌握 NumPy 数组操作与 SHAP 值计算,对于深入探索数据科学领域具有重要意义。@浙大疏锦行。
2025-05-10 12:25:27
894
原创 Day 15 训练
这段代码完整地展示了从数据加载、预处理、模型训练、优化、评估到结果可视化的流程。通过贝叶斯优化提升了随机森林的性能,并通过SHAP解释了模型的预测结果,使整个机器学习过程更加透明和可解释。@浙大疏锦行。
2025-05-09 23:47:29
748
原创 Day 14 训练
旨在解释复杂机器学习模型(如随机森林、梯度提升树、神经网络等 “黑箱” 模型)对特定输入的预测原因。其核心基于合作博弈论中的 Shapley 值。这段代码是用于绘制SHAP(SHapley Additive exPlanations)特征重要性图的Python代码,主要使用了。
2025-05-08 21:55:00
1103
原创 Day 13 训练
处理不平衡数据集时,修改类别权重是一种有效的算法层面策略。其核心是在模型训练阶段调整不同类别样本对损失函数的贡献,尤其是提升少数类样本的权重,以解决模型对多数类的过度偏向问题。重点探讨了在的中通过参数实现这一目标的方法。参数的三种主要设置方式:所有类别权重相同,默认情况下模型不区分多数类和少数类,在不平衡数据上会导致模型偏向多数类。:算法自动根据训练数据中各类别的频率反比调整权重,使少数类样本获得更高权重,从而在训练中放大其重要性,促使模型提升对少数类的识别能力。:允许手动为每个类别指定权重,如。
2025-05-07 11:35:00
826
原创 python简易实现勒索病毒
本次实验主要使用Crypto库实现简易的加密解密定义了一个名为Descrypt的函数,接受一个参数filename,表示要解密的文件路径。
2025-05-06 19:39:57
855
原创 Day 12 训练
超参数调整专题21.三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法2.学习优化算法的思路(避免浪费无效时间)作业:今天以自由探索的思路为主,尝试检索资料、视频、文档,用尽可能简短但是清晰的语言看是否能说清楚这三种算法每种算法的实现逻辑,帮助更深入的理解。
2025-05-06 17:12:45
819
原创 Day11 训练
今天我们要开始超参数调整的专题了,回归下之前课程说的几个核心知识点1.模型 = 算法 + 实例化设置的外参(超参数)+训练得到的内参2.只要调参就需要考2次所以如果不做交叉验证,就需要划分验证集和测试集,但是很多调参方法中都默认有交叉验证,所以实际中可以省去划分验证集和测试集的步骤。每个模型都有自己的超参数,每个超参数都有一定的意义。但是如果为了精度和科研 我们完全无需学习。只需要用好调参工具即可。
2025-05-05 15:01:26
599
空空如也
购买课程下架,怎么都看不了
2023-08-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人