栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

深度学习项目实施流程

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

深度学习项目实施流程

本文认为一个深度学习项目开发的主要工作量可以分为模型组网、数据载入和训练脚本三个部分。

1. 模型组网

本步骤实现模型的定义,基于所使用的深度学习框架,使用其提供的API构建自己的深度学习模型。
以pytorch为例,定义模型继承自基类nn.Module,然后实现构造函数和前向forward()。
完成后可构造fake_data验证输入输出是否符合预期;

工作量: 与模型的复杂程度和开发人员对API的熟悉程度有关。

2. 数据载入

本步骤实现数据集的读取方式,主要实现MyDataset和调用Dataloader。

train_ds = MyDataset(train_set_path, tokenizer)

train_loader = DataLoader(dataset=train_ds,  # 传递数据集
                         batch_size=args.batch_size,  # 一个小批量容量是多少
                         shuffle=False,  # 数据集顺序是否要打乱,一般是要的。测试数据集一般没必要
                         collate_fn=collate_fn,
                         num_workers=args.workers)  # 需要几个进程来一次性读取这个小批量数据

MyDataset类继承自torch.utils.data.dataset.Dataset,构造函数实现从文件中读取数据的过程,__getitem__(self, idx)实现单个数据样本的结构。
Dataloader来自torch.utils.data.dataloader,使用for循环可每次从中取出一个batch的数据。
参数中的collate_fn为一个函数,实现一个batch数据在读取时进行的预处理,如padding、tensor类型转换等。

工作量: 与数据集的处理要求相关。

3. 训练脚本

本部分建议采用现有的脚本模板进行开发。
需要定义超参数、损失函数、评价指标,实现训练过程、评估过程、模型存储等。
最终该训练脚本为一个项目的运行入口。
工作量: 与模板的易用程度相关。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/655491.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号