打包
- 先编译 C++ 库,生成
metaspore.so
- 再使用 setuptools 和 wheel 工具,打包 python 库
MetaSpore C++
MetaSpore C++ 包含几个模块。
- common
- serving
- metaspore (shared)
common
-
globals
- 定义 gflags 变量
-
hashmap
-
arrow
-
features
metaspore
- 提供离线训练、在线 serving 的共用代码
- 离线使用
- 使用 pybind11 库定义并绑定 C++ 代码接口
- python 代码加载共享库,像调用 python 代码一样调用使用 pybind11 定义的 C++ 接口
Getting Started
定义模型
1 | embedding_size : 每个特征组的 embedding size |
初始化内容。
- EmbeddingSumConcat
- SparseFeatureExtractor
- 解析原始特征列配置文件
- 向计算图中添加计算 Hash 特征的 Node
- EmbeddingBagModule
- SparseFeatureExtractor
- TensorUpdater,Sparse & Dense 数据更新类
- FTRLTensorUpdater
- TensorInitializer,张量初始化器
- NormalTensorInitializer,归一化张量初始化器
- Normalization,归一化
训练模型
1 | PyTorchEstimator |
- 定义 PyTorchEstimator
- module
- worker / server 数量
- 模型输出路径
- Label 列索引
1 | PyTorchAgent |
核心概念
- JobRunner
- PyTorchEstimator
- pyspark.ml.base.Estimator
- Launcher
- PSLauncher
- Agent
- Module
- EmbeddingOperator
- TensorUpdater
- TensorInitializer
- Normalization
- PyTorchModel
- pyspark.ml.base.Model
- Metric