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

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. 训练脚本

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

深度学习项目实施流程相关推荐

  1. 深度学习项目开发流程

    tensorflow项目构建流程 http://blog.csdn.net/hjimce/article/details/51899683

  2. 手把手教你从零到一搭建深度学习项目(附PDF下载)

    来源:机器之心 作者:Jonathan Hui 本文约14000字,建议阅读10+分钟. 本文将会从第一步开始,告诉你如何解决深度学习项目开发中会遇到的各类问题. 在学习了有关深度学习的理论之后,很多 ...

  3. 如何在实际中计划和执行一个机器学习和深度学习项目

    2019-11-27 20:27:28 作者:Sayak Paul 编译:ronghuaiyang 导读 做研究打比赛和真正的做一个机器学习和深度项目是不一样的,如果你有这方面的困惑的话,可以看看这篇 ...

  4. 手把手教你从零搭建深度学习项目(附链接)

    简介: 在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目.本文将会从第一步开始,告诉你如何解决项目开发中会遇到的各类问题. 本文由六大部分组成,涵盖深度学习 ( DL ) 项 ...

  5. 经验之谈 | 如何从零开始构建深度学习项目?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属 ...

  6. 如何从零开始构建深度学习项目?这里有一份详细的教程

    点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 来源丨机器之心 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属于自 ...

  7. 手把手教你从零搭建深度学习项目(可下载PDF版)

    源 | 机器之心   作者 | Jonathan Hui 点我调转公号推荐 下载方式:后台回复 20180531 在学习了有关深度学习的理论之后,很多人都会有兴趣尝试构建一个属于自己的项目.本文将会从 ...

  8. 【深度学习项目三】ResNet50多分类任务【十二生肖分类】

    相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别 [深度学习项目二]卷积神经网络LeNet实现minst数字识别 [深度学习项目三]ResNet50多分类任务[十二生肖分类] 『深度 ...

  9. 【深度学习项目五】:利用LSTM网络进行情感分析(NLP)

    相关文章: [深度学习项目一]全连接神经网络实现mnist数字识别](https://blog.csdn.net/sinat_39620217/article/details/116749255?sp ...

  10. 项目管理手记(22) ERP项目实施流程要向KFC学炸薯条

      ERP顾问的工作是一个苦命活,天天出差,自然就得去操心吃住的问题.这不,从前天开始又是一路奔波,去到了广东肇庆,这是一个具有2200多年历史的名城,从城市边上看到了古城墙就见证了这一悠久的历史,也 ...

最新文章

  1. 建立企业级产品测试报告体系(概述)
  2. 福利丨一门面向所有人的人工智能公开课:MIT 6.S191,深度学习入门
  3. 响应json数据之响应json格式数据
  4. 微信开发系列之四 - 将SAP C4C的数据更改通知发送到微信公众号上
  5. PHP环境,放置系统盘的文件
  6. mac通过android打电话,应用短评:用Mac打电话的意义在哪?
  7. hadoop的shuffle过程
  8. ML之RL:强化学习Reinforcement Learning的简介、应用、经典案例、学习资源之详细攻略
  9. 数学三次方的计算机符号,数学符号三次方
  10. PLC网络流量异常检测的统计模型和神经网络模型的比较研究
  11. chrome浏览器安装infinity插件
  12. IPLC专线使用心得,速度惊人!
  13. 子集和问题 算法_LeetCode 题解 | 78.子集
  14. Gym - 101128H:Sheldon Numbers
  15. dvajs项目要部署到服务器上,dvaJs使用注意事項
  16. Final Cut Pro X 教程
  17. python制作类似八音符小游戏
  18. django restframework choice 自定义输出数据
  19. Pxe + Kickstart脚本 +VMWare NAT模式 自动安装 ESXi 6.5
  20. 一根RS485线可以并联多少设备

热门文章

  1. Adobe Photoshop CC2018软件安装教程
  2. 金融经济学二十五讲--徐高
  3. 物理学 第六版 上册、下册 课后答案 东南大学 马文蔚
  4. Codeforces Round #685 (Div. 2) (D(博弈) E1 E2(交互))
  5. 计算机软件系统崩溃,电脑软件打开后闪退或崩溃怎么办
  6. Linux命令行配置无线,Linux_CentOS-6.4无线上网命令行配置介绍,待连接的WIFI的ssid为“thmrdq - phpStudy...
  7. 突破运营商 QoS 封锁,WireGuard 真有“一套”!
  8. Python使用-错误“name ‘requests‘ is not defined”的探查
  9. Hive指定位置增加字段及解决columns have types incompatible with the existing columns in their respective positio
  10. ccs: memory range overlaps existing memory range