BigDL入门 (3)

作者: 飞驰2019 | 来源:发表于2019-04-20 23:29 被阅读0次

在BigDL中,实现了众多的算子,而它们共同继承自一个名为AbstractModule的接口。它对深度学习的基本逻辑,即前向-后向计算进行了抽象和封装。因此,在BigDL中,它既可以表示一个完整的深度学习模型,又可以表示一个独立的算子。该接口主要定义了如下方法:
forward
即深度网络的前向运算,该方法的执行包含2步,分别为updateParameter和updateOutput。首先在updateParameter阶段,根据上一次迭代汇总的梯度计算出最新的模型参数,然后在updateOutput阶段,根据当前参数对输入数据按照定义的逻辑进行运算,得到输出。updateOutput方法定义了具体的计算逻辑,需要继承该接口的对象自行实现。

backward
即深度学习中的后向运算,该方法的主要作用则在于根据模型输出和目标输出(通常为label)的loss计算出参数的梯度。值得注意的是,由于BigDL采用了数据并行的方式进行分布式训练,因而各个子模型都会计算得到一份独立的梯度。各自的梯度在计算完成后,分别通过Spark中的BlockManager进行写入。待各个子模型完成梯度计算后,另外一个Spark任务负责将BlockManager中的梯度进行聚合汇总,供下一轮迭代时forwad方法使用。

相关文章

  • BigDL入门 (3)

    在BigDL中,实现了众多的算子,而它们共同继承自一个名为AbstractModule的接口。它对深度学习的基本逻...

  • BigDL入门 (1)

    在BigDL中,完成一次完整的深度学习过程共需要如下几步: 1. 构建数据集: 将训练数据转换成模型可...

  • BigDL入门 (2)

    模型构建 在BigDL中,模型构建的API共分为两层,即torch风格的低级API和keras风格的高级A...

  • 从源码编译Intel BigDL深度学习库

    BigDL-Build from Source Code 下载BigDL源码 可以从github下载BigDL的源...

  • 用IDEA开发BigDL——Scala

    综述 开发1.下载BigDL2.导入项目到IDEA3.配置IDEA 综述 BigDL 是一种面向 Apache S...

  • BigDL入门 (5)- 参数优化

    在参数优化过程中,多个子模型的协同是最大的难点。对于采用同步迭代的框架来说,参数同步阶段的性能损耗往往容易成为...

  • Intel-BigDL 训练过程(DistriOptimize)

    Intel-BigDL DistriOptimizer内部过程分析 Intel深度学习库BigDL在分布式模式下进...

  • BigDL入门 (4)- 优化器Optimizer

    优化器是模型训练的主要承担者,当模型输出的数据通过损失函数得到梯度后,优化器根据相应的优化算法计算得到新的模型参数...

  • BigDL Programming Guide

    本文为官方文档译文 Tensor Table Module Create modules Construct co...

  • BigDL吐槽

    人无完人,同样也没有完美的技术。尽管BigDL尽可能地实现了简单易用,然而仍然存在一些不那么友好的地方。 ...

网友评论

    本文标题:BigDL入门 (3)

    本文链接:https://www.haomeiwen.com/subject/bwyrgqtx.html