第02课:DeepLearning4j 开发的基本流程

Posted wangongxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第02课:DeepLearning4j 开发的基本流程相关的知识,希望对你有一定的参考价值。

前面的课程介绍了在 Windows 和 Linux 系统下,Deeplearning4j 开发环境的搭建。在此基础上,我们将进一步介绍 Deeplearning4j 开发的基本流程。本节课核心内容包括:

  • 单 CPU 环境
  • 多 CPU 环境
  • 分布式 Spark 环境

对于机器学习应用来说,数据预处理、模型的训练和验证、模型的部署上线是几个标准的流程,Deeplearning4j 框架的开发流程同样遵循这几个步骤。由于 Deeplearning4j 本身支持在 CPU/GPU 环境下的单机/并行/分布式建模,并且在不同环境下建模的细节略有不同,因此本次课程将着重介绍在单 CPU、多 CPU 及 Spark 集群上建模的步骤。至于在 GPU 环境的开发细节,将在后续课程中单独进行介绍。

2.1 单 CPU 环境

单 CPU 环境常常用于原型验证,尤其对于 Deeplearning4j 来讲,在单 CPU 环境下验证通过后的逻辑可以很方便地移植到其他环境中。下面我们分四个环节介绍在单 CPU 环境下的建模步骤。

2.1.1 构建训练数据

数据集的构建是建模的基础。Deeplearning4j 用内置类:DataSet 对训练数据进行封装(PS:DataSet 对象不仅可以封装单条训练数据,也可以封装一个 Mini-batch 的训练数据)。每一次迭代其实是用一个 DataSet 去更新神经网络中的参数。因此在 Deeplearning4j 中构建训练数据集的最终目的是生成一个 DataSet 迭代器或者 DataSet 序列。

首先使用 Deeplearning4j 中的子项目:DataVec 来构建 DataSetIterator。训练用例是鸢尾花分类问题的开源数据集,

以上是关于第02课:DeepLearning4j 开发的基本流程的主要内容,如果未能解决你的问题,请参考以下文章

第01课:WindowsLinux 开发环境的搭建

第01课:WindowsLinux 开发环境的搭建

第11课:词句分布式表达——词建模工具

第13课:Spark 分布式模型训练及调优(原理)

第09课:RNN 在序列问题中的应用——序列标注

第06课:CNN 在机器视觉中的应用——目标检测