深度学习项目实施流程
本文认为一个深度学习项目开发的主要工作量可以分为模型组网、数据载入和训练脚本三个部分。
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. 训练脚本
本部分建议采用现有的脚本模板进行开发。
需要定义超参数、损失函数、评价指标,实现训练过程、评估过程、模型存储等。
最终该训练脚本为一个项目的运行入口。
工作量: 与模板的易用程度相关。
深度学习项目实施流程相关推荐
- 深度学习项目开发流程
tensorflow项目构建流程 http://blog.csdn.net/hjimce/article/details/51899683
- 手把手教你从零到一搭建深度学习项目(附PDF下载)
来源:机器之心 作者:Jonathan Hui 本文约14000字,建议阅读10+分钟. 本文将会从第一步开始,告诉你如何解决深度学习项目开发中会遇到的各类问题. 在学习了有关深度学习的理论之后,很多 ...
- 如何在实际中计划和执行一个机器学习和深度学习项目
2019-11-27 20:27:28 作者:Sayak Paul 编译:ronghuaiyang 导读 做研究打比赛和真正的做一个机器学习和深度项目是不一样的,如果你有这方面的困惑的话,可以看看这篇 ...
- 手把手教你从零搭建深度学习项目(附链接)
简介: 在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目.本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题. 本文由六大部分组成,涵盖深度学习 ( DL ) 项 ...
- 经验之谈 | 如何从零开始构建深度学习项目?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属 ...
- 如何从零开始构建深度学习项目?这里有一份详细的教程
点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 来源丨机器之心 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属于自 ...
- 手把手教你从零搭建深度学习项目(可下载PDF版)
源 | 机器之心 作者 | Jonathan Hui 点我调转公号推荐 下载方式:后台回复 20180531 在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目.本文将会从 ...
- 【深度学习项目三】ResNet50多分类任务【十二生肖分类】
相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别 [深度学习项目二]卷积神经网络LeNet实现minst数字识别 [深度学习项目三]ResNet50多分类任务[十二生肖分类] 『深度 ...
- 【深度学习项目五】:利用LSTM网络进行情感分析(NLP)
相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别](https://blog.csdn.net/sinat_39620217/article/details/116749255?sp ...
- 项目管理手记(22) ERP项目实施流程要向KFC学炸薯条
ERP顾问的工作是一个苦命活,天天出差,自然就得去操心吃住的问题.这不,从前天开始又是一路奔波,去到了广东肇庆,这是一个具有2200多年历史的名城,从城市边上看到了古城墙就见证了这一悠久的历史,也 ...
最新文章
- 建立企业级产品测试报告体系(概述)
- 福利丨一门面向所有人的人工智能公开课:MIT 6.S191,深度学习入门
- 响应json数据之响应json格式数据
- 微信开发系列之四 - 将SAP C4C的数据更改通知发送到微信公众号上
- PHP环境,放置系统盘的文件
- mac通过android打电话,应用短评:用Mac打电话的意义在哪?
- hadoop的shuffle过程
- ML之RL:强化学习Reinforcement Learning的简介、应用、经典案例、学习资源之详细攻略
- 数学三次方的计算机符号,数学符号三次方
- PLC网络流量异常检测的统计模型和神经网络模型的比较研究
- chrome浏览器安装infinity插件
- IPLC专线使用心得,速度惊人!
- 子集和问题 算法_LeetCode 题解 | 78.子集
- Gym - 101128H:Sheldon Numbers
- dvajs项目要部署到服务器上,dvaJs使用注意事項
- Final Cut Pro X 教程
- python制作类似八音符小游戏
- django restframework choice 自定义输出数据
- Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5
- 一根RS485线可以并联多少设备
热门文章
- Adobe Photoshop CC2018软件安装教程
- 金融经济学二十五讲--徐高
- 物理学 第六版 上册、下册 课后答案 东南大学 马文蔚
- Codeforces Round #685 (Div. 2) (D(博弈) E1 E2(交互))
- 计算机软件系统崩溃,电脑软件打开后闪退或崩溃怎么办
- Linux命令行配置无线,Linux_CentOS-6.4无线上网命令行配置介绍,待连接的WIFI的ssid为“thmrdq - phpStudy...
- 突破运营商 QoS 封锁,WireGuard 真有“一套”!
- Python使用-错误“name ‘requests‘ is not defined”的探查
- Hive指定位置增加字段及解决columns have types incompatible with the existing columns in their respective positio
- ccs: memory range overlaps existing memory range