使用C-API作为多语言接口,去掉SWIG。
Created by: reyoung
SWIG作为多语言接口有诸多弊端,故我们需要使用C-API来暴露目前Paddle C++核心部分。
目标
- 使用C API暴露Paddle C++核心部分。可以在Python,Go等其他语言中,使用Paddle的C++核心部分。
- 完善C API,使其支持完整的本地、集群训练功能。替换掉Paddle当前的SWIG API。
- 将Paddle打包成一个单独的wheel文件,进而可以在大多数标准linux中直接
pip install
。 - 同时优化Paddle V2 API中性能相关的代码,增加使用Python读取数据的速度。
计划
-
补全目前的C API,让C API支持训练预测的全部功能。
- 计划issue: TBD
-
去掉Paddle中SWIG代码,使用Cython调用C API,将目前两个Python包合一,变成一个可以在linux直接
pip install
的Python包。- 计划issue: TBD