<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[m0_51572183的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/m0_51572183</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; m0_51572183]]></copyright><item><title><![CDATA[cnn训练并用grad-cam可视化]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148386633</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148386633</guid><author>m0_51572183</author><pubDate>Mon, 02 Jun 2025 21:03:00 +0800</pubDate><description><![CDATA[摘要：研究使用CNN模型对5种品牌大米图像(Arborio、Basmati、Ipsala、Jasmine、Karacadag)进行分类训练。采用PyTorch框架构建包含2个卷积层和2个全连接层的简单CNN网络，使用标准预处理和10轮训练。实验还实现Grad-CAM可视化方法，通过提取最后一个卷积层的特征图生成热力图，直观展示模型关注区域。结果表明该方法能有效区分不同品种大米，并为模型决策提供可解释性依据。代码包含完整的训练流程和可视化实现。]]></description><category></category></item><item><title><![CDATA[Day 42 Grad-CAM]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148371189</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148371189</guid><author>m0_51572183</author><pubDate>Sun, 01 Jun 2025 22:15:25 +0800</pubDate><description><![CDATA[PyTorch Hook函数与Grad-CAM技术解析 Hook函数是PyTorch提供的强大工具，允许在不修改模型结构的情况下监听中间层的输入/输出和梯度。主要应用场景包括： 调试与可视化中间层输出 特征提取（如高层语义特征） 梯度分析与修改（如梯度裁剪） 模型压缩（如权重掩码） Grad-CAM技术通过梯度加权类激活映射来解释CNN决策过程： 计算目标类别对特征图的梯度，获得各通道重要性权重 加权求和特征图生成类激活映射 可视化热力图，显示对预测最关键的区域 示例显示，该方法能有效定位图像中的关键特征（]]></description><category></category></item><item><title><![CDATA[DAY 41 简单CNN]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148357412</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148357412</guid><author>m0_51572183</author><pubDate>Sat, 31 May 2025 23:29:56 +0800</pubDate><description><![CDATA[知识回顾数据增强卷积神经网络定义的写法batch归一化：调整一个批次的分布，常用与图像数据特征图：只有卷积操作输出的才叫特征图调度器：直接修改基础学习率卷积操作常见流程如下：1. 输入 → 卷积层 → Batch归一化层（可选） → 池化层 → 激活函数 → 下一层Flatten -> Dense (with Dropout，可选) -> Dense (Output)卷积层是特征提取器，池化层是特征压缩器。他们二者都是在做下采样操作。一、数据增强。]]></description><category></category></item><item><title><![CDATA[DAY 40 训练和测试的规范写法]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148344669</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148344669</guid><author>m0_51572183</author><pubDate>Fri, 30 May 2025 20:58:43 +0800</pubDate><description><![CDATA[Epoch: 10/20 | Batch: 500/782 | 单Batch损失: 0.2125 | 累计平均损失: 0.2364。Epoch: 12/20 | Batch: 100/782 | 单Batch损失: 0.2631 | 累计平均损失: 0.2361。Epoch: 12/20 | Batch: 300/782 | 单Batch损失: 0.2776 | 累计平均损失: 0.2361。]]></description><category></category></item><item><title><![CDATA[DAY 39 图像相关的神经网络]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148319150</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148319150</guid><author>m0_51572183</author><pubDate>Thu, 29 May 2025 22:29:00 +0800</pubDate><description><![CDATA[本文介绍了使用CIFAR-10数据集生成彩色图像的方法。首先设置随机种子确保结果可复现，定义数据预处理步骤包括张量转换和标准化。加载训练集后创建数据加载器，随机选择并显示一张图片，并使用imshow函数进行可视化处理。同时提供了MNIST数据集的处理示例，展示了MLP神经网络的构建过程，包括展平层、全连接层和激活函数的使用。最后详细描述了模型的初始化过程，并提供了模型结构信息的输出方式，适用于CIFAR-10彩色图像（3×32×32）的处理需求。]]></description><category></category></item><item><title><![CDATA[Day 36 复习日]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148216042</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148216042</guid><author>m0_51572183</author><pubDate>Sun, 25 May 2025 23:35:55 +0800</pubDate><description><![CDATA[本文摘要：该代码实现了一个基于神经网络的信贷违约预测模型。首先对数据进行预处理，包括缺失值填充、离散变量编码和特征标准化。构建了一个三层MLP网络结构，采用ReLU激活函数和Dropout层防止过拟合。使用交叉熵损失和Adam优化器进行训练，通过tqdm进度条监控训练过程，并记录每200轮的损失和准确率。最后在测试集上评估模型性能，准确率达到90%以上。整体代码结构清晰，包含了数据预处理、模型定义、训练和评估的完整流程。]]></description><category></category></item><item><title><![CDATA[ day35 模型可视化与推理]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148196697</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148196697</guid><author>m0_51572183</author><pubDate>Sat, 24 May 2025 23:21:43 +0800</pubDate><description><![CDATA[模型训练 ：使用 torch 库进行模型训练，训练 20000 个周期，损失值从初始逐渐下降至 0.0625，训练耗时约 40 - 42 秒，还使用 torchsummary 打印了模型摘要，显示总参数为 83 个，可训练参数 83 个。
进度条显示 ：借助 tqdm 库实现进度条功能，在累加 1 到 10 的过程中，用 set_postfix 方法在进度条右侧显示实时总和。]]></description><category></category></item><item><title><![CDATA[DAY 34 GPU训练及类的call方法]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148176361</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148176361</guid><author>m0_51572183</author><pubDate>Fri, 23 May 2025 21:34:51 +0800</pubDate><description><![CDATA[本文介绍了如何查看CPU和GPU的性能指标，并详细描述了在GPU上进行模型训练的过程。CPU性能主要关注架构代际、核心数和线程数，而GPU性能则需关注显存、级别和架构代际。在GPU训练中，数据和模型需要移动到GPU设备上。文章还解释了在定义前向传播时，可以直接使用self.fc1(x)的原因，并提供了代码示例，展示了如何使用PyTorch在GPU上训练一个多层感知机（MLP）模型。代码包括数据加载、预处理、模型定义、训练过程以及损失曲线的可视化。最后，文章建议复习并思考可能出现的性能问题，如多次读取数据导致]]></description><category></category></item><item><title><![CDATA[DAY 33 简单的神经网络]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148151488</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148151488</guid><author>m0_51572183</author><pubDate>Thu, 22 May 2025 23:52:55 +0800</pubDate><description><![CDATA[本文回顾了PyTorch和CUDA的安装与检查流程，包括通过命令行查看显卡信息、验证CUDA是否可用以及获取CUDA设备信息。接着，文章介绍了使用鸢尾花数据集进行神经网络测试的步骤，包括数据加载、归一化处理、转换为PyTorch张量等预处理操作。随后，定义了一个简单的全连接神经网络模型，并详细说明了模型架构、损失函数和优化器的选择。最后，文章展示了模型的训练过程，包括前向传播、反向传播、参数更新以及损失值的记录与可视化。通过这一系列步骤，读者可以了解如何在PyTorch中构建和训练一个简单的神经网络模型。]]></description><category></category></item><item><title><![CDATA[Day32 官方文档的阅读（pdpbox）]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148125211</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148125211</guid><author>m0_51572183</author><pubDate>Wed, 21 May 2025 22:31:33 +0800</pubDate><description><![CDATA[本文介绍了如何通过GitHub和官网检索官方文档，并强调了安装包与文档版本一致的重要性。在阅读和使用文档时，需关注类的实例化参数、普通方法的参数及返回值。文章还涉及对底层库调用的理解，特别是在绘图方面。作业部分要求参考pdpbox官方文档，使用TargetPlot和PredictPlot类绘制图表。示例代码展示了如何加载鸢尾花数据集、训练随机森林模型，并利用pdpbox库绘制目标图和预测图。通过调整图表尺寸和标题，用户可以自定义图表展示效果。]]></description><category></category></item><item><title><![CDATA[DAY 31 文件的规范拆分和写法]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148098978</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148098978</guid><author>m0_51572183</author><pubDate>Tue, 20 May 2025 21:28:06 +0800</pubDate><description><![CDATA[文章摘要：本文回顾了机器学习项目中的关键知识点，包括规范的文件命名、文件夹管理、项目拆分、编码格式和类型注解。以心脏病项目为例，展示了如何准备拆分的项目文件，并思考哪些部分可以未来复用。文章详细介绍了数据预处理步骤，如对对象数据类型进行编码，并展示了数据可视化的方法，包括使用Seaborn库绘制计数图和分布图。最后，文章描述了使用随机森林分类器进行模型预测的过程，包括模型训练、预测和评估，特别是通过混淆矩阵计算灵敏度和特异性。这些步骤为机器学习项目的实施提供了实用的指导和示例。]]></description><category></category></item><item><title><![CDATA[DAY 30 模块和库的导入]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148074915</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148074915</guid><author>m0_51572183</author><pubDate>Mon, 19 May 2025 21:30:29 +0800</pubDate><description><![CDATA[本文回顾了Python中导入库和模块的三种主要方式：导入官方库、导入自定义库/模块，以及理解导入的核心逻辑，即找到根目录。通过一个计算圆周长和面积的示例，展示了如何使用import math导入数学库，并处理用户输入。此外，还演示了如何从自定义模块circle中导入函数calculate_area，并计算圆的面积。作业要求读者在不同路径下创建文件，尝试导入模块，以加深对Python模块导入机制的理解。]]></description><category></category></item><item><title><![CDATA[Day29 类的装饰器]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148051173</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148051173</guid><author>m0_51572183</author><pubDate>Sun, 18 May 2025 22:25:12 +0800</pubDate><description><![CDATA[类装饰器与函数装饰器类似，但作用对象不同。类装饰器接收一个类，返回修改后的类，可以添加新方法、属性或修改原有方法，甚至返回全新类。通过类装饰器，可以在不修改类内部代码的情况下，为多个类统一添加功能。函数装饰器则接收函数，返回包装后的函数，用于修改函数行为。过去29天的学习中，我加深了对函数和类的理解：函数封装特定功能，便于重复调用；类集成属性和方法，结构清晰，避免重复操作。Python在处理结构化数据、科学计算和机器学习方面表现出色，未来将开启深度学习专题。]]></description><category></category></item><item><title><![CDATA[Day 27 函数专题2 装饰器]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148019055</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148019055</guid><author>m0_51572183</author><pubDate>Fri, 16 May 2025 23:16:01 +0800</pubDate><description><![CDATA[装饰器是Python中的一种高阶函数，它允许在不修改原函数代码和调用方式的情况下，为函数添加额外功能。装饰器本质上是一个函数，它接收一个函数作为参数，并返回一个新函数。新函数会包裹原函数，在执行原函数前后添加新逻辑，如日志记录、性能测试等。通过使用@符号将装饰器应用到目标函数上，可以提高代码的复用性和可维护性，使代码更加简洁优雅。装饰器的使用遵循DRY原则（Don't Repeat Yourself），通过将可复用的功能封装在装饰器中，避免了代码重复，增强了代码的可读性。]]></description><category></category></item><item><title><![CDATA[DAY 28 类的定义]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/148016503</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/148016503</guid><author>m0_51572183</author><pubDate>Fri, 16 May 2025 20:36:49 +0800</pubDate><description><![CDATA[本文介绍了Python中类的基本概念和使用方法。首先，类作为对象的蓝图，定义了对象的属性和方法，如简单的Dog类示例。其次，__init__方法用于初始化对象属性，如Cat类中的名字和年龄。普通方法则用于实现类的特定功能，如Rectangle类中的area方法计算面积。最后，类的继承允许子类继承父类的属性和方法，并可以扩展或重写父类方法，如Dog类继承Animal类并重写speak方法。通过这些内容，可以更好地理解和使用Python中的类。]]></description><category></category></item><item><title><![CDATA[DAY 26 函数专题1]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/147993159</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/147993159</guid><author>m0_51572183</author><pubDate>Thu, 15 May 2025 22:10:11 +0800</pubDate><description><![CDATA[本文档回顾了函数定义、变量作用域、参数类型及传递顺序等基础知识点，并通过五个编程作业巩固了这些概念。作业内容包括：计算圆和矩形面积的函数，处理负数输入时返回0；使用*args计算任意数量数字的平均值，无输入时返回0；通过**kwargs打印用户信息和格式化几何图形描述。这些练习展示了如何使用位置参数、默认参数、不定参数和关键词参数来编写灵活且健壮的函数，满足不同场景的需求。]]></description><category></category></item><item><title><![CDATA[Day 25 Python异常处理]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/147963717</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/147963717</guid><author>m0_51572183</author><pubDate>Wed, 14 May 2025 21:39:15 +0800</pubDate><description><![CDATA[作业：理解今日的内容即可，可以检查自己过去借助ai写的代码是否带有try-except机制，以后可以尝试采用这类写法增加代码健壮性。在即将进入深度学习专题学习前，我们最后差缺补漏，把一些常见且重要的知识点给他们补上，加深对代码和流程的理解。# 当 try 块中发生任何其他未被前面 except 捕获的异常时执行的代码。# 当 try 块中发生 ExceptionType 类型的异常时执行的代码。except: # 不推荐：捕获所有类型的异常，可能会隐藏bug。# 可能会引发异常的代码。]]></description><category></category></item><item><title><![CDATA[DAY 24 元组和OS模块]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/147933554</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/147933554</guid><author>m0_51572183</author><pubDate>Tue, 13 May 2025 20:54:23 +0800</pubDate><description><![CDATA[本文介绍了 Python 中的元组、可迭代对象和 os 模块的基本概念及其应用。元组是一种不可变的序列类型，适用于存储不可修改的数据，并可作为字典的键。可迭代对象如列表、字符串等，支持循环遍历和生成器操作，适用于数据处理和内存优化。os 模块提供了与操作系统交互的功能，常用于文件管理、路径处理和环境变量管理。这些工具在 Python 编程中具有广泛的应用场景，能够有效提升代码的灵活性和效率。]]></description><category></category></item><item><title><![CDATA[Day22 Kaggle泰坦尼克号训练实战]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/147880801</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/147880801</guid><author>m0_51572183</author><pubDate>Sun, 11 May 2025 22:53:43 +0800</pubDate><description><![CDATA[在Kaggle平台上进行泰坦尼克号生还预测比赛时，首先需加载并预处理数据，包括处理缺失值和分类变量编码。接着，选择合适的机器学习模型（如随机森林）进行训练，并对测试集进行预测。最后，将预测结果保存为符合Kaggle要求的CSV文件提交。注意点包括确保数据预处理步骤一致，避免数据泄露，以及合理选择模型参数以提高预测准确性。通过这一流程，可以有效利用Kaggle平台进行数据科学竞赛的实践和学习。]]></description><category></category></item><item><title><![CDATA[Day21 奇异值分解（SVD）全面解析]]></title><link>https://blog.youkuaiyun.com/m0_51572183/article/details/147859573</link><guid>https://blog.youkuaiyun.com/m0_51572183/article/details/147859573</guid><author>m0_51572183</author><pubDate>Sat, 10 May 2025 21:44:20 +0800</pubDate><description><![CDATA[奇异值分解（SVD）是线性代数中的重要矩阵分解方法，适用于各种矩阵形式的数据。虽然其推导过程复杂，但在实际应用中，用户无需深入掌握相关线性代数概念即可使用SVD。SVD的主要应用包括特征降维和数据重构。特征降维可以减少计算量并实现数据可视化，而数据重构则可用于信号处理和图像压缩。在进行SVD前，数据标准化是必要的，以避免不同量纲对结果的影响。通过计算Frobenius范数相对误差，可以评估矩阵重构的效果，帮助选择合适的奇异值数量。总之，SVD在数据处理和分析中具有广泛的应用价值。]]></description><category></category></item></channel></rss>