- 博客(52)
- 收藏
- 关注
原创 DAY45 Tensorboard
笔记:TensorBoard 最初随 TensorFlow 框架诞生,后续逐步支持 PyTorch、MXNet 等主流框架,关键时间线如下:2015 年 11 月:随 TensorFlow 0.7.0 版本首次发布,核心功能是 “计算图可视化” 和 “标量(如损失、准确率)监控”,解决了当时深度学习训练 “黑箱化” 的痛点。2017-2018 年:功能扩展,新增 “图像可视化(如输入样本、中间特征图)”“直方图(如参数分布、梯度分布)”“嵌入可视化(如高维特征降维)”,支持多实验对比。
2025-10-27 10:40:15
860
原创 DAY44 PYTHON 预训练模型
知识点回顾:作业:知识点 1:预训练(Pre-training)的概念预训练是深度学习中的一种迁移学习策略,核心逻辑是 “先通用学习,再特定任务适配”,具体定义和价值如下:核心定义:在大规模通用数据集(如 ImageNet)上,先训练一个基础模型,让模型学习到通用的特征提取能力(如边缘、纹理、物体部件等);之后将这个 “预训练好的模型” 作为起点,在小规模特定任务数据集(如自己的分类任务)上进行微调(Fine-tuning),以快速适配目标任务。本质区别:与 “从零训练(Training from S
2025-10-26 22:51:26
951
原创 DAY42 Grad-CAM与Hook函数
Lambda 函数是Python 中的匿名函数,通过lambda 参数: 表达式定义,仅能包含一行表达式,返回表达式结果,适合处理简单逻辑(无需单独定义函数)。核心特点匿名性:无需指定函数名,仅用于临时调用;简洁性:一行代码完成简单运算(如加减乘除、排序 key);局限性:仅支持单个表达式,无法包含循环、条件判断(复杂逻辑需用def定义函数)。Hook 函数(模块钩子与张量钩子)
2025-10-22 21:12:38
234
原创 DAY41简单CNN
Flatten -> Dense (with Dropout,可选) -> Dense (Output)输入 → 卷积层 → Batch归一化层(可选) → 池化层 → 激活函数 → 下一层。
2025-10-21 21:12:18
717
原创 DAY40训练和测试的规范写法
训练和测试的规范写法知识点回顾:彩色和灰度图片测试和训练的规范写法:封装在函数中展平操作:除第一个维度batchsize外全部展平dropout操作:训练阶段随机丢弃神经元,测试阶段eval模式关闭dropout。
2025-10-18 23:08:35
480
原创 DAY39 PYTHON
在深度学习中,模型是由神经网络架构、训练流程和超参数组成的计算系统,其核心要素包括:架构选择:网络类型:如卷积神经网络(CNN,用于图像)、循环神经网络(RNN,用于序列)、Transformer(用于自然语言处理)。层结构:包含输入层、隐藏层(如卷积层、全连接层)和输出层,层间通过权重和偏置连接。训练流程:前向传播:输入数据通过网络计算输出预测值。反向传播:根据损失函数(如交叉熵)计算梯度,更新模型参数以最小化损失。
2025-10-17 15:59:02
685
原创 DAY37早停策略和模型权重的保存
过拟合判断:通过同步监控训练集和验证集的损失 / 准确率曲线,观察是否出现 “训练优、验证差” 的趋势。模型保存加载:根据需求选择保存方式(仅权重 / 完整模型 /checkpoint),checkpoint 适合中断后继续训练。早停策略:结合EarlyStopping回调,自动在过拟合前停止训练,通常配合ModelCheckpoint保存最优模型。
2025-10-15 10:54:56
605
原创 DAY35 模型可视化与推理
在模型推理 / 评估阶段,需通过 model.eval() 切换为评估模式,并禁用梯度计算以节省内存和加速。通过绘制权重参数的直方图 / 核密度图,可直观观察参数分布是否合理(如是否过分散 / 过集中),辅助判断。:生成的图片会展示从输入到输出的所有操作(如卷积、批归一化、线性层等)及张量形状变化,清晰呈现计算流程。优势:自动显示 %、已完成数 / 总数、耗时、剩余时间,支持自定义名称和单位,美观且易用。绘制模型的计算图,展示张量的流动路径和操作关系,适合调试复杂模型的前向传播逻辑。
2025-10-13 21:21:47
409
原创 DAY 34 GPU训练及类的call方法-
类的call方法:为什么定义前向传播时可以直接写作self.fc1(x)ps:在训练过程中可以在命令行输入nvida-smi查看显存占用情况。GPU训练的方法:数据和模型移动到GPU device上。CPU性能的查看:看架构代际、核心数、线程数。GPU性能的查看:看显存、看级别、看架构代际。
2025-10-11 19:25:18
228
原创 DAY33MLP神经网络-
PyTorch和cuda的安装查看显卡信息的命令行命令(cmd中使用)cuda的检查简单神经网络的流程数据预处理(归一化、转换成张量)模型的定义继承nn.Module类定义每一个层定义前向传播流程定义损失函数和优化器定义训练流程可视化loss过程预处理补充:注意事项:分类任务中,若标签是整数(如 0/1/2 类别),需转为long类型(对应 PyTorch 的torch.long),否则交叉熵损失函数会报错。
2025-10-10 15:16:40
434
原创 DAY32 官方文档的阅读
知识点回顾:先引入鸢尾花数据集作为用例确定数据集和特征、目标训练一个模型具体这个类需要用到哪些参数可以在官方文档进行查阅,或者鼠标悬停进行查看下面确认了需要的参数后代码如下最后,是对另一个图进行的绘制作业代码如下出图如下
2025-10-10 11:20:15
145
原创 Day30 python
from math import *:这种方法将 math 模块中的所有公开的函数和变量导入到当前的命名空间中,可以直接使用这些函数和变量而无需 math. 前缀。二进制文件是机器语言,处理器可以直接理解和执行无需翻译,二进制语言反汇编是很困难的,用二进制语言除了效果好外,也是让用户无法看到源代码,保护了自己的知识产权。OpenCV的核心是用C++编写,并且已经编译成二进制文件,编译后的二进制文件可以在不同操作系统上运行,Python中的用户通常不能直接看到方法的源代码。
2025-10-08 22:43:18
544
原创 DAY29 Python类装饰器与函数装饰器核心区别
注意到其中的cls.log = log_message 这行代码,他把外部的函数赋值给了类的新定义的属性,这里我们介绍这种写法实际上,定义类的方法,有2类写法。2. 在类定义外部定义方法,然后把方法赋值给类的属性---这是一种动态方法,常在装饰器中使用,可以再外部修改类的方法。1. 在类定义内部直接写方法,这是静态方法,一般定义类都这么完成。
2025-10-07 21:34:23
221
原创 Day28python
其中,self.xx是用来表明这个属性“归属于”这个类自己的(self)。比如self.name,就代表着:“自己的名字”,self等于“自己”,这个self指向类的实例化地址,传入的self.xx是它的属性。以后要是用它的属性值,即使是从外界参数传入的,前面也必须加上self.xx,否则传入的参数没价值。初始化方法又叫构造方法、特殊方法。
2025-10-05 23:09:33
161
原创 Day27 装饰器
3. 在函数中通过time模块进行记时会发现,这个time模块让整个代码逻辑很混乱,因为函数的主体是找质数,time模块是找质数的时间,如果可以time模块放在函数外,这样逻辑才清楚哈。下面这个函数实现的是计算2到9999的所有质数(在大于 1 的自然数中,除了 1 和它自身外,不能被其他自然数整除的数),并且打印找到这些数需要的时间。装饰器的本质是一个高阶函数,它接收一个函数作为参数,并返回一个新函数来替代原函数。2. 定义一个函数,循环2到9999的数,通过判断质数函数来筛选每个数。
2025-10-04 20:50:23
103
原创 DAY26 python-
编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。编写一个名为 calculate_average 的函数,该函数可以接收任意数量的数字作为参数(引入可变位置参数 (*args)),并返回它们的平均值。编写一个名为 print_user_info 的函数,该函数接收一个必需的参数 user_id,以及任意数量的额外用户信息(作为关键字参数)。函数的参数类型:位置参数、默认参数、不定参数。user_id 是一个必需的位置参数。
2025-09-29 11:42:24
413
原创 DAY25Python异常处理-
如果找到匹配的,则执行该 except 块中的代码,然后继续执行整个 try-except 结构之后的代码(除非 except 块中又引发了新异常或执行了 return/break/continue 等)。else 块中的代码不会被同一个 try 块的 except 子句捕获。如果 try 失败:try 块中出错前的代码会执行,然后匹配的 except 块的代码会执行(else 块不会执行)。- except: 如果try块中的代码确实引发了特定类型的异常(或者任何异常,如果未指定类型),则执行此代码块。
2025-09-26 17:20:21
781
原创 DAY24-元组和OS模块-
元组的特点:1. 有序,可以重复,这一点和列表一样2. 元组中的元素不能修改,这一点非常重要,深度学习场景中很多参数、形状定义好了确保后续不能被修改。很多流行的 ML/DL 库(如 TensorFlow, PyTorch, NumPy)在其 API 中都广泛使用了元组来表示形状、配置等。可以看到,元组最重要的功能是在列表之上,增加了不可修改这个需求管道工程中pipeline类接收的是一个包含多个小元组的 列表 作为输入。
2025-09-26 16:56:45
432
原创 DAY23-管道-
这里要分三类去定义,有序特征(标签编码)、无序特征(独热)、连续特征# --- 定义不同列的类型和它们对应的预处理步骤 ---# 这些定义是基于原始数据 X 的列类型来确定的# 识别原始的 object 列 (对应你原代码中的 discrete_features 在预处理前)# 识别原始的非 object 列 (通常是数值列)# 有序分类特征 (对应你之前的标签编码)# 注意:OrdinalEncoder默认编码为0, 1, 2... 对应你之前的1, 2, 3...需要在模型解释时注意。
2025-09-24 22:34:27
350
原创 DAY21-降维算法-
定义:不使用任何关于数据样本的标签信息(比如类别标签、目标值等)。它们仅仅根据数据点本身的分布、方差、相关性、局部结构等特性来寻找低维表示。目标:保留数据中尽可能多的方差(如 PCA)。* 保留数据的局部或全局流形结构(如 LLE, Isomap, t-SNE, UMAP)。* 找到能够有效重构原始数据的紧凑表示(如 Autoencoder)。* 找到统计上独立的成分(如 ICA)。
2025-09-23 22:07:05
902
原创 DAY20 奇异值分解-
推荐系统:在协同过滤算法中,用户-物品评分矩阵通常是稀疏且高维的。SVD (或其变种如 FunkSVD, SVD++) 可以用来分解这个矩阵,发现潜在因子 (latent factors),从而预测未评分的项。这里其实属于特征降维的部分。数据重构:比如重构信号、重构图像(可以实现有损压缩,k 越小压缩率越高,但图像质量损失越大)降噪:通常噪声对应较小的奇异值。通过丢弃这些小奇异值并重构矩阵,可以达到一定程度的降噪效果。下面尝试使用之前的心脏病数据集进行SVD分解。特征降维:对高维数据减小计算量、可视化。
2025-09-23 15:55:34
225
原创 DAY18-推断聚类后簇的类型
上一部分讲到了kmeans聚类,来看一下聚类结果。把这些图总结起来看,再根据这些结果去进行定义。推断簇含义的2个思路:先选特征和后选特征。科研逻辑闭环:通过精度判断特征工程价值。通过可视化图形借助ai定义簇的含义。聚类后的分析:推断簇的类型。
2025-09-20 11:17:52
129
原创 DAY16 python之numpy-数组
numpy数组的创建:简单创建、随机创建、遍历、运算numpy数组的索引:一维、二维、三维SHAP值的深入理解。
2025-09-18 16:42:55
197
原创 DAY15-旅游网站用户行为预测
数据集来源整体数据预处理思路:先看数据集情况-统计缺失值-异常值处理-重复数据合并-缺失值填补-离散数据进行编码-其他数据进行转换数据查看缺失值统计异常值处理,这步是因为这个特征里面存在一个*异常值,选择将它替换成空值初步的数据集情况如下r在进行后续的编码步骤之前,需要先看一下离散特征里面,各数值分布情况可以看到存在重复的数据,进行如下操作后编码后面其他几个离散特征也是类似的,不赘述了预处理结束后数据大概是长这样缺失值处理、int转换也是必须操作的。
2025-09-18 16:30:15
411
原创 DAY12 Python遗传算法
通过分配特训点数来最大化实战胜率。所以我开始回忆前世,那些攻略,想想那些大神以及玩家的失败或者成功经验。三种启发式算法的示例代码:遗传算法、粒子群算法、退火算法。学习优化算法的思路(避免浪费无效时间)定义基因、个体、种群的要求。
2025-09-16 19:55:53
160
原创 DAY 7Python心脏病数据集处理
查看特征的情况,例如离散特征连续特征之类的。上面是绘制多个子图,单个特征的核密度直方图。查看特征、数据统计、缺失值等细节。下面绘制标签与特征的关系情况。
2025-09-13 20:45:37
128
原创 Day11python超参数调整
数据预处理结束之后,将数据集按照8:1:1进行划分,其中8为训练集,1为测试集,1为验证集。贝叶斯优化(2种实现逻辑,以及如何避开必须用交叉验证的问题)随机搜索(简单介绍,非重点 实战中很少用到,可以不了解)time库的计时模块,方便后人查看代码运行时长。
2025-09-12 15:05:10
189
原创 DAY10 python数据处理与基础机器学习回顾
知识点:数据集的划分机器学习模型建模的三行代码机器学习模型分类问题的评估导入必要的包查看数据信息先对离散变量 进行处理,例如home ownership对缺失值进行填补,先筛选数值型特征,再用众数进行填补异常值数据处理--------本次数据集中不进行处理可视化分析-----略。
2025-09-12 11:36:37
210
原创 DAY6Python初步数据可视化处理
单特征可视化:连续变量箱线图(还说了核密度直方图)、离散特征直方图。接下来是特征和标签关系可视化。内容回顾:数据初步可视化。箱线图美化--->直方图。
2025-09-12 10:32:39
180
原创 Day5 Python 独热编码
这里区分离散变量仅仅通过object类型,实际中还需要结合对数据的认识,这里为了方便没有考虑现实意义。注意是py文件中,所以每一步的输出是否正确需要你来使用debugger功能来逐步查看。现在在py文件中 一次性处理data数据中所有的连续变量和离散变量。2. 找到所有的离散变量,并对离散变量进行one-hot编码。3. 对独热编码后的变量转化为int类型。先按照示例代码过一遍,然后完成下列题目。题目:离散特征的独热编码。4.对所有缺失值进行填充。1. 读取data数据。
2025-09-11 10:17:51
192
原创 DAY9 热力图和子图的绘制
注意这里对于选取的连续变量进行处理,某一些数值型数据是离散的,不可用到热力图中哦,热力图只能对连续变量进行处理,数值型离散变量如工作年限就是不能进行处理的,不要放进来哦。
2025-09-10 17:03:44
867
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅