- 博客(44)
- 收藏
- 关注
原创 DAY 45 Tensorboard使用介绍
TensorBoard是深度学习领域广泛应用的可视化工具,主要用于监控训练过程、分析模型性能和定位问题。其核心工作流程包括日志生成、存储和可视化渲染三部分。PyTorch通过SummaryWriter类支持TensorBoard功能,可记录标量、图像、模型结构等数据。在CIFAR-10数据集上,TensorBoard可有效对比MLP和CNN模型的训练效果。 [摘要要点] TensorBoard发展历程:从TensorFlow专属工具扩展到支持PyTorch等多框架 核心功能:标量监控、图像可视化、模型结构分
2025-10-12 21:38:02
919
原创 DAY 44 预训练模型-2025.10.8
预训练模型是一种迁移学习策略,先在大规模通用数据集上训练基础模型,再微调适配特定任务。常见分类预训练模型包括AlexNet、VGG、ResNet、ViT等,经历了从CNN到Transformer的架构革新。预训练策略涵盖数据、任务、模型和训练四个维度,核心是提升特征通用性和收敛效率。以ResNet18为例的代码实战展示了从数据加载、模型定义到训练验证的完整流程。作业要求比较不同预训练模型在CIFAR10上的表现,并探究ResNet的残差结构本质。
2025-10-08 16:05:49
874
原创 DAY 43 复习日-2025.10.7
本文展示了使用PyTorch进行脑瘤图像分类的完整流程:首先通过数据增强和标准化处理图像数据,然后加载预训练的ResNet18模型并微调最后一层以适应四分类任务(胶质瘤、脑膜瘤、无瘤、垂体瘤)。采用交叉熵损失和Adam优化器进行训练,并加入学习率衰减策略。经过20轮训练后,模型在验证集上达到较高准确率,最终保存训练好的模型权重。项目实现了从数据预处理到模型训练评估的完整流程,为医学图像分类任务提供了实用参考。
2025-10-07 21:52:56
2045
原创 DAY 42 Grad-CAM与Hook函数-2025.10.6
摘要 本文介绍了深度学习中的回调函数、Lambda函数和Hook函数技术。回调函数是事件触发执行的函数,用于扩展训练流程功能而不修改主代码。Lambda函数是Python匿名函数,适合简单逻辑处理。Hook函数分为模块钩子和张量钩子,用于拦截模型中间结果和梯度:模块钩子通过register_forward_hook获取特征图,张量钩子通过register_hook监控梯度。文章通过PyTorch代码示例展示了这些技术在模型训练、特征可视化和梯度分析中的应用。
2025-10-06 13:50:31
851
原创 DAY 41 简单CNN-2025.10.5
这篇文章摘要了卷积神经网络(CNN)的基本概念和训练流程,并提供了CIFAR-10图像分类任务的实现代码。主要内容包括:1) CNN的核心组件(卷积层、池化层、归一化层等)及其作用;2) 数据增强技术对提升模型泛化能力的重要性;3) Batch归一化的工作原理和优势;4) 学习率调度器的使用方法和效果。文章还提供了完整的PyTorch实现代码,展示了如何构建CNN模型、定义损失函数和优化器,以及实现训练流程。作者建议读者通过调整CNN结构和调度器参数来观察训练效果的变化。
2025-10-05 21:49:36
1065
原创 DAY 40 训练和测试的规范写法-2025.10.4
文章摘要 本文介绍了深度学习模型训练与测试的规范写法,重点包括三个核心知识点:1) 将训练和测试流程封装为独立函数,确保代码模块化和可复用性;2) 图片展平操作需保留batch维度,使用torch.flatten(start_dim=1)实现;3) Dropout层在训练阶段随机丢弃神经元,测试阶段需切换为eval()模式关闭丢弃功能。文章还提供了实际代码示例,展示了MNIST数据集分类任务的完整实现流程,包括数据预处理、模型定义、训练测试函数封装等关键步骤。特别强调了规范代码框架的重要性,为后续模型开发奠
2025-10-04 16:47:11
763
原创 DAY 39 图像数据与显存-2025.10.3
图像数据与显存管理摘要 本文主要探讨了深度学习中的图像数据处理和显存管理问题。图像数据分为灰度图(单通道)和彩色图(RGB/RGBA三/四通道),前者占用显存更少但丢失色彩信息。模型训练时显存主要消耗在四个方面:1)模型参数和梯度参数;2)优化器状态;3)输入数据批量;4)中间激活值。其中优化器状态往往占用最多显存。Batch size的选择需要平衡显存限制、训练效率和模型泛化能力,通常需要结合学习率调整策略。文章还通过MNIST和CIFAR-10数据集展示了不同格式图像数据的处理方式,为实际训练中的显存优
2025-10-03 23:20:04
976
原创 DAY 38 Dataset和Dataloader类 - 2025.10. 2
文章摘要: 本文介绍了PyTorch中的Dataset和Dataloader类及其应用。Dataset作为数据基类,通过实现__len__和__getitem__方法将数据封装为可索引的样本集合。Dataloader则提供批量加载、数据打乱和多线程加速功能,提升训练效率。以MNIST手写数据集为例,演示了从数据加载到可视化展示的完整流程,包括自定义Dataset、Dataloader参数配置及图像预处理。最后布置了解CIFAR数据集的作业,帮助巩固知识点。(150字) 关键词: PyTorch、Datase
2025-10-02 19:15:51
1051
原创 DAY 37 早停策略和模型权重的保存-2025.10.1
初始训练进度: 100%|██████████| 1000/1000 [00:03<00:00, 317.03epoch/s, Train Loss=0.4639, Val Loss=0.4959, Train Acc=0.7746, Val Acc=0.7592]早停策略(Early Stopping)通过监控验证集指标(如损失),当指标不再改善时自动停止训练,避免模型过度拟合训练数据。=== 步骤3:加载初始权重,继续训练50轮 ====== 步骤1:训练初始模型并保存权重 ===
2025-10-01 22:24:14
783
原创 DAY 35 模型可视化与推理-2025.9.30
通过绘制权重参数的直方图 / 核密度图,可直观观察参数分布是否合理(如是否过分散 / 过集中),辅助判断模型训练状态。是专门用于打印模型结构的工具,能清晰展示各层名称、输入输出形状、参数数量等信息,适合快速了解模型整体结构。:生成的图片会展示从输入到输出的所有操作(如卷积、批归一化、线性层等)及张量形状变化,清晰呈现计算流程。绘制模型的计算图,展示张量的流动路径和操作关系,适合调试复杂模型的前向传播逻辑。、已完成数 / 总数、耗时、剩余时间,支持自定义名称和单位,美观且易用。
2025-09-30 22:51:34
322
原创 DAY 34 GPU训练及类的call方法-2025.9.21
复习今天的内容,在巩固下代码。思考下为什么会出现这个问题。:在训练过程中可以在命令行输入。
2025-09-29 20:27:46
226
原创 DAY 33 MLP神经网络的训练-2025.9.20
本文介绍了使用PyTorch构建和训练MLP神经网络的全过程。主要内容包括:1)PyTorch和CUDA环境配置;2)数据预处理(归一化、张量转换);3)神经网络模型定义(继承nn.Module、构建两层网络);4)训练流程(损失函数、优化器、前向/反向传播);5)损失可视化。文章以Iris数据集分类任务为例,详细展示了从数据准备到模型训练的完整代码实现,并强调了分类任务中标签类型转换等关键注意事项。该流程可作为神经网络基础框架,适用于各类机器学习任务。
2025-09-19 17:34:55
964
原创 DAY 32 官方文档的阅读-2025.9.19
摘要 本文介绍了官方文档的阅读与使用方法,重点包括:1)通过GitHub和官网检索文档;2)确保库版本与文档一致;3)关注类的实例化参数、方法参数和返回值;4)理解绘图功能对底层库的调用。作业部分展示了使用pdpbox库的TargetPlot类分析鸢尾花数据集特征的过程,包括数据准备、模型训练和可视化实现,并发现plot()方法返回的是元组类型。通过实践加深了对官方文档使用和特征分析工具的理解。
2025-09-18 20:14:37
1065
原创 DAY 31 文件的规范拆分和写法-2025.9.18
本文介绍了机器学习项目的规范化管理方法,主要包括四个方面:1)文件命名规则,建议使用小写字母和下划线分隔;2)标准的项目目录结构,包含config、data、models等子目录;3)项目功能模块拆分,将数据、模型、训练等逻辑分离;4)编码规范,强调遵循PEP8并使用类型注解。这些规范能提高代码可读性、可维护性和团队协作效率。文章还提供了心脏病项目重构的作业建议,并附有相关学习资源链接。
2025-09-16 14:46:00
353
原创 DAY 30 模块和库的导入-2025.9.17
摘要:本文系统讲解了Python模块导入机制,涵盖官方库和自定义模块的导入方法。官方库导入使用三种方式:import 模块名、from 模块名 import 功能名和带别名的导入。自定义模块导入需处理路径问题:同目录直接导入,不同目录需添加路径到sys.path,包结构使用包名.模块名方式。核心在于理解Python解释器的模块查找路径sys.path,解决终端目录与脚本目录不一致问题的方法包括动态添加路径或设置PYTHONPATH环境变量。
2025-09-15 12:28:05
645
原创 DAY 29 复习日:类的装饰器-2025.9.16
Python学习29天总结:从函数到类的进阶之路 通过近一个月的系统学习,我对Python的核心概念有了更深入的理解: 函数与类的本质:函数是可复用的代码块,类是数据和行为的封装体。两者都是Python中的"一等公民",可作为参数传递或装饰器使用。 装饰器思想:深刻体会到"开放-封闭原则"的价值,通过装饰器在不修改源码的情况下扩展功能,这种非侵入式编程方式极具灵活性。 动态特性:Python强大的动态能力体现在运行时修改类结构、动态添加方法等特性上,这为元编程和框架开
2025-09-13 15:16:15
707
原创 DAY 28 类的定义和方法-2025.9.15
面向对象编程基础笔记摘要 本笔记总结了Python面向对象编程的核心概念,包含类定义、初始化方法、普通方法和继承机制。类通过class关键字定义,__init__方法初始化对象属性,普通方法定义对象行为。继承允许子类复用父类特性,通过super()调用父类方法,并可重写方法实现多态。 实践示例: Circle类:计算面积(πr²)和周长(2πr) Rectangle类:计算面积(长×宽)和周长,判断是否为正方形 图形工厂:根据类型动态创建不同图形对象 关键点: 类名使用驼峰命名法 方法必须包含self参数
2025-09-13 13:15:42
845
原创 DAY 27 函数专题2:装饰器-2025.9.14
本文介绍了Python装饰器的核心概念与实现方法。装饰器是一种在不修改原函数代码的前提下,为函数添加额外功能的代码复用机制。文章讲解了装饰器的基本思想、嵌套函数写法,重点强调了内部函数必须传递返回值以避免数据丢失。通过日志装饰器的示例,展示了如何记录函数执行前后的参数和返回值。最后提供作业练习,要求实现一个能打印函数执行信息的logger装饰器。装饰器适用于日志记录、性能计时等场景,是Python重要的编程技巧。
2025-09-13 10:30:14
941
原创 DAY 26 函数专题1:函数定义与参数-2025.9.13
本文介绍了Python函数专题的基础知识,主要包括: 函数定义与参数类型:讲解了位置参数、默认参数和不定参数(*args和**kwargs)的定义和使用方法 变量作用域:区分了局部变量和全局变量的访问范围 参数传递方式:说明了关键词参数的优点和使用场景 参数传递顺序:详细解释了多种参数类型共存时的定义和调用规则 文章还提供了5个实践题目,涵盖计算图形面积、求平均值、格式化输出等常见应用场景,帮助巩固函数参数的使用技巧。这些知识点对编写结构清晰、可维护性强的Python代码尤为重要。
2025-09-12 18:22:00
750
原创 DAY 25 异常处理-2025.9.12
异常处理是编程中重要的安全机制,如同车辆的安全系统能防止程序崩溃。Python通过try-except结构捕获和处理异常,常见错误类型包括ValueError、TypeError等。完整的异常处理包含try-except-else-finally四个部分:try测试可能出错的代码,except处理错误,else执行成功后的操作,finally确保必须执行的清理工作。在机器学习中,异常处理能避免因数据错误或参数问题导致训练中断,同时确保资源正确释放。建议在代码中合理使用异常处理机制,提高程序的健壮性。
2025-09-12 11:10:43
726
原创 DAY 24 元组和OS模块 - 2025.9.9
提供了大量操作文件、目录和系统环境的函数,适配不同操作系统(Windows、Linux、macOS)。它不是按层级(先访问所有第一层,再访问所有第二层)进行的,而是按分支深度进行的。这种策略被称之为深度优先。,即能够返回一个迭代器(Iterator)的对象。迭代的本质是从对象中逐个获取元素。,用于存储有序的元素集合,类似列表但具有不可修改的特性。os 模块是 Python 标准库中。元组是 Python 中一种。
2025-09-09 15:28:33
1034
原创 DAY 22 复习日-2025.9.3
Kaggle泰坦尼克号预测作业摘要 本作业要求使用Kaggle平台完成泰坦尼克号人员生还预测比赛。主要内容包括: 数据预处理: 读取训练集(891条)和测试集数据 拆分特征(X)和标签(y) 处理缺失值:用众数填充年龄、票价等字段 对分类特征(Pclass/SibSp等)进行独热编码 确保训练集和测试集特征维度一致 关键步骤: 使用pandas进行数据清洗 处理近700条缺失的Cabin数据 对齐训练测试集特征 注意事项: 需注册Kaggle账号 下载数据集(train.csv/test.csv) 提交预测
2025-09-03 21:33:09
765
原创 DAY 21 常见的降维算法-2025.9.2
本文介绍了三种常见的降维算法:LDA(线性判别分析)、PCA(主成分分析)和t-SNE。LDA是有监督学习算法,适用于分类任务预处理;PCA是无监督算法,擅长数据压缩和去噪;t-SNE则专注于高维数据可视化。文章对比了三者的核心差异,建议根据具体需求选择:分类任务用LDA,数据压缩用PCA,可视化用t-SNE。对于非线性数据,可考虑核方法或UMAP等替代方案。
2025-09-02 12:43:26
838
原创 DAY 20 奇异值SVD分解-2025.9.1
奇异值:将A^T A(或A A^T)的非零特征值开平方,得到 A 的奇异值,即σ_i = √λ_i),且满足;对角矩阵Σ中,前 k 个对角元素为,其余元素为 0。右奇异向量(V 的列向量)取A^T A的特征向量,按特征值从大到小排列,构成n×n正交矩阵V,其列向量即为A的右奇异向量。左奇异向量(U 的列向量)对每个非零奇异值σ_i,定义v_i是A^T A的第i个特征向量),则u_i是A A^T的第i个特征向量;将补充正交向量(若m > k),构成m×m正交矩阵U,其列向量即为A的左奇异向量。
2025-09-01 20:56:14
1722
原创 DAY 19 常见的特征筛选算法-2025.8.31
快速预处理:优先用「方差筛选」(去无信息特征)+「皮尔逊相关系数」(抓线性关联)。线性模型:「LASSO 筛选」(自带正则化)或「RFE」(结合线性基模型)。树模型 / 非线性场景:「树模型重要性」(高效)或「SHAP 重要性」(可解释)。高维数据 / 解释性要求高:「LASSO 筛选」(稀疏性)或「SHAP 重要性」(模型无关)。
2025-08-31 22:40:44
818
原创 DAY 18 推断聚类后簇的类型 - 2025.8.30
摘要 本文系统介绍了聚类后分析的关键步骤,重点阐述了推断簇类型的三种方法。首先提出两种特征选择思路:目标导向型(先选特征)和探索导向型(后选特征),分别适用于业务明确和无预设目标的场景。其次详细说明了如何通过可视化降维与AI工具结合,高效解读簇特征差异。最后构建科研闭环,通过轮廓系数等指标验证特征工程价值,形成"特征工程-聚类-验证-优化"的完整流程。文章还包含实际应用示例和可视化技巧,为聚类分析提供了从理论到实践的系统指导。
2025-08-30 14:30:22
778
原创 DAY 17 常见聚类算法-2025.8.29
本文介绍了三种常见聚类算法及其应用要点: 聚类算法概览 KMeans:基于距离,需预先指定簇数,适合球形数据 DBSCAN:基于密度,可发现任意形状簇并识别噪声 层次聚类:构建层次树,无需预设簇数 关键流程 数据标准化 算法选择与调参(KMeans调k值,DBSCAN调邻域参数) 结果评估(轮廓系数、CH指数等) 可视化展示(t-SNE/PCA降维) 应用建议 可针对部分可解释特征进行聚类 需关注各类别样本数量合理性 聚类结果可作为新特征加入原数据 注:作业要求对心脏病数据集应用聚类分析。
2025-08-29 16:32:43
930
原创 DAY-16-数组的常见操作和形状-2025.8.28
1. 数组的简单创建通过np.array()将列表或嵌套列表转换为数组zeros(全 0)、ones(全 1)、arange(序列)、linspace(均分序列)、eye(单位矩阵)等# 从列表创建arr1 = np.array([1, 2, 3, 4]) # 一维数组arr2 = np.array([[1, 2], [3, 4]]) # 二维数组(2x2)# 特殊数组zeros_arr = np.zeros((2, 3)) # 2行3列全0数组。
2025-08-28 18:00:06
885
原创 DAY-15-复习日-2025.8.27
在 Python 中,字典(dictionary)是一种非常实用的数据结构,用于存储键值对(key-value pairs)。它具有高效的查找性能,是 Python 中最常用的数据类型之一。字典的基本特点1. 字典使用大括号 {} 定义2. 每个元素由键(key)和值(value)组成,格式为 key: value3. 键和值之间用冒号分隔,元素之间用逗号分隔4. 字典中的键必须是不可变类型(如字符串、数字、元组),且不能重复5. 字典中的值可以是任何数据类型,包括列表、字典等。
2025-08-27 10:43:17
1094
原创 DAY-14-SHAP图的绘制-2025.8.26
SHAP图解析与应用摘要 SHAP图是基于博弈论Shapley值的模型解释工具,通过可视化展示特征对预测结果的贡献。核心图表包括:1)全局解释图(条形图、摘要图)展示整体特征重要性;2)局部解释图(力图、决策图)解释单样本预测;3)依赖与交互图分析特定特征影响。不同图表对输入数据尺寸有特定要求,如单样本力图需要(n_features,)形状的SHAP值,而多样本摘要图需(n_samples,n_features)。分类问题需提取特定类别的SHAP值,回归问题则直接使用连续预测值。SHAP图能有效揭示模型决策
2025-08-26 14:49:52
1130
原创 DAY-13-不平衡数据的处理-2025.8.23
摘要:本文介绍了不平衡数据集的处理策略(过采样、修改权重、调整阈值)和交叉验证方法(K折、分层K折、留一法、时间序列)。通过代码示例展示了不同交叉验证的实现方式,并提供了可视化功能。文章指出当前实验效果仍有改进空间,建议尝试组合策略和参数调优以获得更好结果。最后给出了交叉验证方法的选择建议,强调其对于评估模型泛化能力的重要性。
2025-08-25 19:59:08
878
原创 DAY-12-启发式算法-2025.8.22
本文介绍了三种启发式优化算法:模拟退火算法(SA)、粒子群算法(PSO)和遗传算法(GA)。模拟退火算法通过温度控制概率性接受较差解,逐步收敛到最优解;粒子群算法模拟鸟群觅食行为,通过个体与群体经验引导粒子向最优解移动;遗传算法模拟生物进化过程,通过选择、交叉和变异操作优化种群。三种算法各具特色:遗传算法强调种群进化,粒子群算法注重群体协作,模拟退火算法通过温度调节平衡探索与利用。文章提供了各算法的伪代码实现,并对比了其核心思想与适用场景,为超参数调整提供了多样化的优化方法选择。
2025-08-22 14:33:58
555
原创 DAY-11-常见的调参方式-2025.8.21
本文介绍了三种常见的机器学习超参数调优方法:网格搜索、随机搜索和贝叶斯优化。网格搜索通过穷举所有预设超参数组合寻找最优解,实现简单但计算成本高;随机搜索随机采样超参数组合,效率更高但结果具有随机性;贝叶斯优化则基于概率模型智能搜索,效率最高。文章还提供了各方法的Python实现示例,并介绍了如何用time库计时优化代码效率。最后,作者建议对信贷数据中的LightGBM和KNN模型尝试贝叶斯优化和网格搜索作为练习。
2025-08-21 17:00:43
803
原创 DAY-10-机器学习建模与评估-2025.8.20
知识点:1.数据集的划分2.机器学习模型建模的三行代码3.机器学习模型分类问题的评估今日代码比较多,但是难度不大,仔细看看示例代码,好好理解下这几个评估指标。作业:尝试对心脏病数据集采用机器学习模型建模和评估。
2025-08-20 16:50:09
1128
原创 DAY 9 热力图和子图的绘制 -2025.8.19
本文介绍了热力图和子图的绘制方法,主要包括以下内容:1)热力图的绘制步骤,包括计算相关系数矩阵和使用seaborn绘制;2)Python内置函数enumerate()的用法;3)两种子图绘制方法:plt.subplots()和plt.subplot()。最后以心脏病数据集为例,展示了如何绘制热力图和包含多个子图的单特征分布图,包括数据准备、相关系数计算、图形设置和子图布局调整等完整流程。文章重点讲解了数据可视化中的实用技巧,适合数据分析初学者学习掌握。
2025-08-19 12:34:15
966
原创 Day-8 标签编码与连续变量处理 -2025.8.18
在 Python 中,字典(dictionary)是一种非常实用的数据结构,用于存储键值对(key-value pairs)。它具有高效的查找性能,是 Python 中最常用的数据类型之一。字典的基本特点1. 字典使用大括号 {} 定义2. 每个元素由键(key)和值(value)组成,格式为 key: value3. 键和值之间用冒号分隔,元素之间用逗号分隔4. 字典中的键必须是不可变类型(如字符串、数字、元组),且不能重复5. 字典中的值可以是任何数据类型,包括列表、字典等。
2025-08-18 18:30:49
2017
原创 day-7-2025.8.17
摘要 本文展示了心脏病数据集(heart.csv)的预处理和分析过程。数据集包含303条记录和14个特征,检查发现无缺失值且数据类型合适。通过可视化分析关键特征与心脏病诊断(target)的关系,包括年龄、性别、主要血管数量(ca)、ST段压低(oldpeak)等医学重要指标。文章还回顾了Python基础语法,包括变量格式化、字符串操作、列表处理和流程控制语句,并介绍了数据预处理技巧如缺失值填充(均值填充)和离散变量独热编码。最后探讨了使用matplotlib和seaborn进行单特征分布和特征-标签关系可
2025-08-17 12:14:25
800
原创 day-6-2025.8.16
去针对其他特征绘制单特征图和特征和标签的关系图,并且试图观察出一些有意思的结论。单特征可视化:连续变量箱线图(还说了核密度直方图)、离散特征直方图。尝试画图直观展示数据集中特征每月负债和是否违约的关系。2. 特征与标签关系可视化。内容回顾:数据初步可视化。箱线图美化--->直方图。1. 单特征分布可视化。特征和标签关系可视化。
2025-08-16 16:47:18
478
原创 day-5-2025.8.15
摘要:本文介绍了在Python中使用pandas对混合类型数据进行预处理的方法。主要包括:1)读取CSV数据;2)识别离散变量并存储到列表;3)对离散变量进行独热编码;4)将独热编码后的布尔值转换为整型;5)对所有缺失值用均值填充。给出了两个示例实现,其中练习2使用更简洁的pandas方法处理列差集。处理过程建议使用调试器逐步验证各步骤结果。
2025-08-15 16:52:07
411
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅