- 博客(6)
- 收藏
- 关注
原创 李哥深度学习班代码复盘--bert实战
(2)数据集类:三个函数与前两个实战类似,但需注意两点。第一,读文件函数得到了数据和标签,在数据集类的初始化函数中可直接赋值存储;第二,读文件函数中label列表里存储的是字符型数据,而通常进行训练验证的标签为整型,需进行转换。与前面实战不同,本次实战对数据处理,模型定义与训练和验证三个过程进行了封装,将功能模块化,使代码更加简洁,易于维护。本次实战利用Bert模型进行下游文字分类,即对一类文本进行类别标签的预测,所用数据集为某外卖评论数据集。3.训练和验证,与前两个实战基本类似,多一点优化。
2025-02-11 18:29:04
323
原创 李哥深度学习代码复盘--分类实战(下)
(2)在原训练验证过程中,当准确率大于一定值,且轮次数满足一定规律(每轮读浪费时间),读入semi_loader,若其不为空,则进行训练并打印准确率。比如一个程序需要在1~5中随机取三次数,运行结果为第一次取2,第二次取1,第三次取4.若使用随机种子,该程序下一次运行时结果依然是第一次取2,第二次取1,第三次取4,若不使用则第一次可能取3...(1)由于新打上标签的数据是在训练过程中产生的,可能为空,所以需要定义一个加载器函数。其中带标签的训练数据共有11类,每类280个,不带标签的训练数据共6786个。
2025-01-19 18:43:03
420
原创 李哥深度学习代码复盘--分类实战(上)
本次实战使用了新的优化器AdamW,它与SGD有两个区别,一是SGD主要计算某点的梯度,而AdamW需要综合该点与该点以前的梯度;(2)数据集类,类中初始化、获取项目和长度三个函数与回归实战大体相似,但因为分类图片存储在文件夹中,不能使用csv模块读写,故另外定义一个读文件函数。其中带标签的训练数据共有11类,每类280个,不带标签的训练数据共6786个,不带标签的数据需要用到半监督学习的方法。(1)数据增广,通过对现有的数据样本进行变换,生成更多数据样本,以提高模型泛化能力,减少过拟合风险。
2025-01-18 21:58:09
487
原创 李哥深度学习代码复盘--回归实战(下)
创建模型实例时,将inDim赋值为feature_dim,并根据all_feature的值决定是否使用所有的列。方法1:相关系数:在初始数据中可能存在无关列对预测结果产生干扰,故可以利用相关系数找出与已知结果相关程度最高的几列,用其进行训练、验证和预测。方法2:正则化,在基础部分的损失计算上加上参数的平方(L2正则化),从而会使模型曲线更加平滑,不容易过拟合(L1正则化使用绝对值)。该函数接收特征数据,标签数据,得到的列数,返回选中列的特征及下标。本次复盘包括基础部分和优化部分。
2025-01-12 17:34:51
515
原创 李哥深度学习代码复盘--回归实战(上)
基础部分:代码实现需要pytorch,numpy,matplotlib,time和csv几个库,其中pytorch用于构建,训练和部署深度学习模型(张量,梯度计算等),numpy用于数据预处理,matplotlib用于可视化,time用于记录时间,csv用于读写csv文件以加载或保存数据。上段代码定义了一个数据集类,并在类中定义了初始化、获取项目和长度三个函数用于处理数据。该函数接收模型,训练数据加载器,验证数据加载器,设备,轮次,优化器,损失计算函数等参数,利用数据对构建的模型进行训练和验证。
2025-01-11 18:25:13
589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人