API接口:
BigDL提供的API接口覆盖了数据读取,特征转换,模型定义,模型训练的完整流程,且为Local和Spark两种模式同时提供了支持,使用时可以轻易的将模型迁移至Hadoop之上的大规模数据集,十分便利。
数据读取:
Tensor: 对训练数据及模型参数的抽象,定义了dense和sparse两种实现。
Sample: 对应一条训练样本,包含由一个至多个Tensor构成的Feature及同样由一至多个Tensor构成的Label(监督学习)。
Minibatch:由多条固定大小训练样本构成的batch,定义了dense和sparse两种实现,与Tensor类型一一对应。
DataSet: 对训练数据集的抽象,由多条训练数据集组成,定义了按batch读取数据的方法。提供了Local和Distributed两种实现,对应不同的使用环境。
特征转换:
Transformer: 为数据预处理和特征转换提供的接口,预置了很多常用的实现,也可以自行扩展。
模型定义:
为降低使用难度,BigDL提供了一套与Keras极为相似的API, 熟悉Keras的开发者可以十分轻易的上手。
Model:用于构建神经网络,和Keras一样,提供了Sequential和Functional两种定义模型的方法。
Layer:神经网络层,预置了很多常用的实现,同样可以自行扩展。
模型训练/评估:
Criterion:对损失函数的抽象,对常见的损失函数均提供了支持。
Optimizer:封装了模型优化的流程,同时实现了Local和Distributed两个版本,对常见的优化算法和学习策略均提供了支持。
网友评论