- 博客(51)
- 收藏
- 关注
原创 DAY 22 复习日
复习日仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。作业:自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码导入需要的库Survived 是否存活(label)PassengerId (乘客ID)Pclass(用户阶级):1 - 1st class,高等用户;2 - 2nd class,中等用户;3 - 3rd class,低等用户;Name(名字)Sex(性别)Age(年龄)
2025-09-05 22:07:23
693
原创 DAY 43 复习日
我在自己的电脑上跑的,速度很慢,所以我只跑了20个epoch,接下来我会增加epoch继续对模型进行训练,看效果会不会好一点。kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化。我找的是kaggle上的猫狗二分类训练集。进阶:并拆分成多个文件。
2025-09-03 22:11:15
830
原创 DAY 32 官方文档的阅读
作业:参考pdpbox官方文档中的其他类,绘制相应的图,任选即可。2.官方文档的阅读和使用:要求安装的包和文档为同一个版本。1.官方文档的检索方式:github和官网。4.绘图的理解:对底层库的调用。b.普通方法所需要的参数。a.实例化所需要的参数。c.普通方法的返回值。
2025-09-02 17:43:53
154
原创 DAY 50 预训练模型+CBAM模块
知识点回顾:1.resnet结构解析2.CBAM放置位置的思考3.针对预训练模型的训练策略a.差异化学习率b.三阶段微调采样:在信号处理(包括图像、语音等)中,“采样” 本质是从连续的信号中提取离散的 “样本点”,将信号转化为可计算的数字形式。例如:一张连续的风景照片(现实中是连续的光信号),被扫描成由像素组成的数字图像(比如 1920×1080 像素),这个过程就是 “采样”—— 每个像素就是一个 “样本点”,像素数量越多,采样越密集,图像细节越丰富。。
2025-09-02 00:27:58
711
原创 DAY 31 文件的规范拆分和写法
**models/ 目录**:专门存放训练好的模型文件,根据模型保存格式不同,可能是 `.pkl`(Python pickle 格式,常用于保存 sklearn 模型 )、`.h5`(常用于保存 Keras 模型 )、`.joblib` 等。2. 另一个是pylance,用于代码提示和类型检查,这个插件会根据你的代码中的类型注解,给出相应的提示和检查,比如你定义了一个函数,参数类型是int,那么当你传入一个字符串时,它会提示你传入的参数类型不正确。也就是说这个是写给解释器看的。
2025-08-31 23:20:33
794
原创 DAY 29 复习日:类的装饰器
想象一下装饰器就像给你的手机套上一个手机壳手机本身的功能不变(打电话、上网)但手机壳给它增加了新功能(防摔、美观)在Python中,装饰器就是这样的"外壳",它可以在不修改原有代码的情况下,给函数或类添加新功能。类的装饰器是一个函数,它接收一个类作为输入,对这个类进行修改或增强,然后返回修改后的类。你可以把它想象成一个类的加工厂或类的定制工具。
2025-08-30 22:48:03
364
原创 DAY 28 类的定义和方法
●calculate_perimeter():计算周长(公式:2×(长+宽))。is_square() 方法,判断是否为正方形(长 == 宽)。●calculate_circumference():计算圆的周长(公式:2πr)。shape_type="rectangle":创建长方形(参数:长、宽)。●calculate_area():计算圆的面积(公式:πr²)。●calculate_area():计算面积(公式:长×宽)。shape_type="circle":创建圆(参数:半径)。
2025-08-30 22:16:41
466
原创 DAY 49 CBAM注意力
*注意:** 在原始论文中,平均报告和最高报告是交给**两个不同的**分析团队(两个独立的MLP)的。因为它从两个互补的维度(**通道维**和**空间维**)进行了注意力筛选,形成了“**先选重要口味,再选重要位置**”的精细化处理流程。3. **升维(第二个 `Linear` 层)**:团队根据分析出的重点,再还原出一份完整的、包含`c`个数字的**最终建议报告**。1. **平均池化 (`avg_pool`)**:他随机品尝每一批饼干**一小口**,然后算出每种口味的**平均评分**。
2025-08-30 17:38:11
606
原创 DAY 48 随机函数与广播机制
2.卷积和池化的计算公式(可以不掌握,会自动计算的)3.pytorch的广播机制:加法和乘法的广播机制。ps:numpy运算也有类似的广播机制,基本一致。1.随机张量的生成:torch.randn函数。作业:自己多借助ai举几个例子帮助自己理解即可。
2025-08-30 15:08:19
221
原创 DAY 46 通道注意力(SE注意力)
特征图本质就是不同的卷积核的输出,浅层指的是离输入图近的卷积层,浅层卷积层的特征图通常较大,而深层特征图会经过多次下采样,尺寸显著缩小,尺寸差异过大时,小尺寸特征图在视觉上会显得模糊或丢失细节。- 特征逐层抽象:从“看得见的细节”(conv1)→ “局部结构”(conv2)→ “类别相关的抽象模式”(conv3),模型通过这种方式实现从“看图像”到“理解语义”的跨越。- 通道分工明确:不同通道在各层聚焦不同特征(如有的通道负责边缘,有的负责颜色,有的负责全局语义),共同协作完成分类任务。
2025-08-30 01:00:59
873
原创 DAY 27 函数专题2:装饰器
这个服务员接受一个“厨师”(核心函数)作为参数,然后返回一个“新厨师”(包装函数)。这个“新厨师”会先做额外工作,再叫原来的厨师做菜。def 记录订单服务员(厨师函数):def 新厨师函数(菜名, 顾客名):# 【额外功能】在做菜前记录订单print(f"记录:{顾客名}点了{菜名}")# 【核心功能】调用原来的厨师做菜菜品 = 厨师函数(菜名, 顾客名)# 也可以在这里做菜完成后的事情return 菜品return 新厨师函数 # 返回这个包装好的新厨师。
2025-08-27 23:55:52
820
原创 DAY 45 Tensorboard使用介绍
3.tensorboard在cifar上的实战:MLP和CNN模型。1.tensorboard的发展历史和原理。最终测试准确率: 80.73%2.tensorboard的常见操作。
2025-08-27 21:58:13
197
原创 DAY 30 模块和库的导入
3.导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)作业:自己新建几个不同路径文件尝试下如何导入。2.导入自定义库/模块的方式。1.导入官方库的三种手段。
2025-08-27 00:25:00
247
原创 DAY 30 模块和库的导入
3.导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)作业:自己新建几个不同路径文件尝试下如何导入。2.导入自定义库/模块的方式。1.导入官方库的三种手段。
2025-08-27 00:20:34
169
原创 DAY 44 预训练模型
知识点回顾:1.预训练的概念2.常见的分类预训练模型3.图像预训练模型的发展史4.预训练的策略5.预训练代码实战:resnet18先解释一下基本概念预训练。
2025-08-26 21:47:38
316
原创 DAY 42 Grad-CAM与Hook函数
hook函数的模块钩子和张量钩子。作业:理解下今天的代码即可。Grad-CAM的示例。回调函数本质是一种 “
2025-08-22 21:40:17
315
原创 DAY 41 简单CNN
知识回顾数据增强卷积神经网络定义的写法batch归一化:调整一个批次的分布,常用与图像数据特征图:只有卷积操作输出的才叫特征图调度器:直接修改基础学习率卷积操作常见流程如下:1. 输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层Flatten -> Dense (with Dropout,可选) -> Dense (Output)介绍一下卷积神经网络。
2025-08-20 23:51:33
783
原创 DAY 40 训练和测试的规范写法
作业:仔细学习下测试和训练代码的逻辑,这是基础,这个代码框架后续会一直沿用,后续的重点慢慢就是转向模型定义阶段了。dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout。展平操作:除第一个维度batchsize外全部展平。彩色和灰度图片测试和训练的规范写法:封装在函数中。
2025-08-19 23:42:59
593
原创 DAY 38 Dataset和Dataloader类
Dataset类的__getitem__和__len__方法(本质是python的特殊方法)作业:了解下cifar数据集,尝试获取其中一张图片。minist手写数据集的了解。Dataloader类。
2025-08-18 21:36:50
325
原创 DAY 37 早停策略和模型权重的保存
c.保存全部信息checkpoint,还包含训练状态。1.过拟合的判断:测试集和训练集同步打印指标。2.模型的保存和加载。
2025-08-17 17:40:02
335
原创 DAY 36 复习日
●作业:对之前的信贷项目,利用神经网络训练下,尝试用到目前的知识点让代码更加规范和美观。●探索性作业(随意完成):尝试进入nn.Module中,查看他的方法。仔细回顾一下神经网络到目前的内容,没跟上进度的同学补一下进度。
2025-08-09 18:10:47
290
原创 DAY 35 模型可视化与推理
这里的 "百分比" 就是全连接层的 "权重",每个输入因素(业绩、考勤等)都会被所有输出结果(两个奖项)用到,只是重要程度不同 —— 这就是 "全连接" 的意思。简单说:全连接层就是让每个输入信息都参与到每个输出结果的计算中,通过调整 "权重"(重要程度)和 "偏置"(基础分),得到新的特征或结果。最后每个评委还会有自己的 "印象分"(偏置),比如评委 A 天生严格,所有分数都减 5 分;输入的每个特征都会参与计算输出的每个特征,即输出的每个神经元都与输入的所有神经元相连。全连接层:在全连接层中,
2025-08-09 15:55:54
476
原创 DAY 34 GPU训练及类的call方法
4.类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)ps:在训练过程中可以在命令行输入nvida-smi查看显存占用情况。3.GPU训练的方法:数据和模型移动到GPU device上。1.CPU性能的查看:看架构代际、核心数、线程数。2.GPU性能的查看:看显存、看级别、看架构代际。
2025-08-08 17:59:18
226
原创 DAY 33 MLP神经网络的训练
神经网络是一种 “通过多层特征提取和参数调整来学习数据规律” 的模型,它不需要人工设计特征,而是自己从数据中 “悟” 出规律,因此能解决很多传统方法难以处理的复杂问题。它的核心作用是:根据损失函数计算的 “误差梯度”(参数对损失的影响程度),决定如何更新模型的权重和偏置,从而让模型的预测越来越准确。激活函数就像神经网络的 “决策者”,通过非线性转换让模型能处理复杂问题,不同的激活函数适合不同的场景,选对了能让模型更高效地学习。模型训练的目标是 “让预测尽可能接近真实”,但 “接近” 需要一个可量化的标准。
2025-08-08 16:46:14
850
原创 DAY 26 函数专题1:函数定义与参数
函数的参数类型:位置参数、默认参数、不定参数。传递参数的顺序:同时出现三种参数类型时。变量作用域:局部变量和全局变量。传递参数的手段:关键词参数。
2025-08-07 23:54:24
340
原创 DAY 25 异常处理
作业:理解今日的内容即可,可以检查自己过去借助ai写的代码是否带有try-except机制,以后可以尝试采用这类写法增加代码健壮性。在即将进入深度学习专题学习前,我们最后差缺补漏,把一些常见且重要的知识点给他们补上,加深对代码和流程的理解。try-except-else-finally机制。debug过程中的各类报错。try-except机制。
2025-08-07 16:06:27
179
原创 DAY 20 奇异值SVD分解
对于任何矩阵(如结构化数据可以变为:样本*特征的矩阵,图像数据天然就是矩阵),均可做等价的奇异值SVD分解,对于分解后的矩阵,可以选取保留前K个奇异值及其对应的奇异向量,重构原始矩阵,可以通过计算Frobenius 范数相对误差来衡量原始矩阵和重构矩阵的差异。应用:结构化数据中,将原来的m个特征降维成k个新的特征,新特征是原始特征的线性组合,捕捉了数据的主要方差信息,降维后的数据可以直接用于机器学习模型(如分类、回归),通常能提高计算效率并减少过拟合风险。c.降噪:通常噪声对应较小的奇异值。
2025-07-26 18:02:21
306
原创 DAY 18 推断聚类后簇的类型
作业:参考示例代码对心脏病数据集采取类似操作,并且评估特征工程后模型效果有无提升。1.推断簇含义的2个思路:先选特征和后选特征。3.科研逻辑闭环:通过精度判断特征工程价值。2.通过可视化图形借助ai定义簇的含义。聚类后的分析:推断簇的类型。
2025-07-24 16:55:43
371
原创 DAY 16 数组的常见操作和形状
如果你只是随便存点数据,类型杂乱,或者需要频繁添加 / 删除元素 → 用列表。如果你要做数学计算、数据分析、矩阵运算,或者处理大量数值 → 用NumPy 数组。# 分清楚列表和数组的区别print([7, 5, 3, 9]) # 输出: [7, 5, 3, 9](逗号分隔)print(np.array([7, 5, 3, 9])) # 输出: [7 5 3 9](空格分隔)zeros = np.zeros((2,3)) #创建一个2行3列的全零矩阵。
2025-07-22 15:51:28
448
原创 DAY 15 复习日
本次数据来源为kaggle的Teen Smartphone Usage and Addiction Impact Dataset。尝试找到一个kaggle或者其他地方的结构化数据集,用之前的内容完成一个全新的项目,这样你也是独立完成了一个专属于自己的项目。1.有数据地址的提供数据地址,没有地址的上传网盘贴出地址即可。仔细回顾一下之前14天的内容,没跟上进度的同学补一下进度。2.尽可能与他人不同,优先选择本专业相关数据集。3.探索一下开源数据的网站有哪些?
2025-07-21 15:50:20
269
原创 DAY 14 SHAP图的绘制
简单说,SHAP就是给机器学习模型的“每个输入因素”发一张“影响成绩单”:正面影响加多少分,负面影响减多少分,最后用图表告诉你“这些分数怎么凑出了最终结果”——让原本神秘的“黑盒子”,变成能说清道理的“透明盒子”。这里的“面积、地段、房龄”就是影响房价的“特征”,“多值80万、多值50万、少值30万”就是每个特征的“贡献”——而SHAP做的,就是给机器学习模型的“预测结果”做类似的“拆解解释”。越靠左,说明让房价越低。比如你可能会发现:“地段几乎是影响房价的最大因素,而且地段越好,房价涨得越猛”。
2025-07-17 15:01:54
2058
原创 Day13 不平衡数据的处理
原理:对每个少数类样本,找其附近的几个同类样本,在它们之间“插值”生成新样本(比如样本A的特征是[2,3],附近样本B是[4,5],可合成[3,4]这样的新样本)。这种情况下,模型容易“偏向”多数类(比如只预测“正常邮件”也能达到99%的准确率),但对少数类(如垃圾邮件)的识别能力很差,而少数类往往是我们更关注的(比如不能漏诊患病者)。但“一般都是缺数据,所以很少用欠采样”,原因是: 实际场景中,数据通常是“珍贵”的,多数类的样本可能包含很多有价值的信息,直接删除会丢失重要特征,导致模型学习不充分。
2025-07-16 17:14:46
2069
原创 DAY 12 启发式算法
遗传算法不用人手动设计复杂规则,而是通过 “随机生成→筛选优秀→交叉组合→偶尔变异” 的循环,让答案像生物进化一样 “自己变好”。它特别适合解决那些答案太多、没法一一尝试的问题(比如路线规划、设计优化、密码破解等),就像让计算机 “瞎蒙” 出一堆答案,再通过进化筛选出最好的那个。import pandas as pd #用于数据处理和分析,可处理表格数据。import numpy as np #用于数值计算,提供了高效的数组操作。
2025-07-14 23:42:23
600
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅