BigDL入门 (2)

作者: 飞驰2019 | 来源:发表于2019-04-19 22:25 被阅读0次

    模型构建

    在BigDL中,模型构建的API共分为两层,即torch风格的低级API和keras风格的高级API,高级API在实现上实际上是对低级API的封装。低级API功能更全面,但使用起来相对繁琐,而高级API则更好相反。对于初学者或者是熟悉Keras的开发者而言,从高级API入手显然是更好的选择。

    高级API

    值得注意的是,在BigDL及其子项目Analytics-zoo中,均有定义Keras风格的API,且实现几无二致。根据更新情况来看,Analytics-zoo中的部分会逐渐占据主导地位。在接口设计上,高级API照搬了Keras,同样包含Model和Layer两个层级。Model分为两种类型,即Sequential和Functional,其中Sequential类型的模型相当于定义了一个Layer的容器,往其中添加Layer即可,使用极其简单。而Functional类型的模型则允许定义相对复杂的计算流程,使用更加灵活多变。需要注意的是,尽管接口相似,其与Keras的API仍然具有一些不同,在使用时应当注意:

  1. Functional layer只能使用一次

    在Keras中,Functional模型中定义的算子可以为多个下游节点共享,而在BigDL中则不然,如果执意使用则会则模型定义时抛出算子重复构建的异常。

    2. Backend

    尽管Keras中的Layer对深度学习中常用的算子(如卷积,rnn等)进行了封装,很多时候仍然需要通过backend方法直接调用下层Tensorflow或Theano的算子。BigDL的高级API虽然没有backend的概念,却提供了类似的接口,即KerasLayerWrapper。与Keras中backend相似,如果需要使用的算子在已有的Layer没有封装,可以通过该方法间接调用低级API。

   

相关文章

  • BigDL入门 (2)

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

  • BigDL入门 (1)

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

  • BigDL入门 (3)

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

  • 从源码编译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入门 (2)

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