Pipeline

在 Pipcook 中,我们使用 Pipeline 来表示一个模型的训练工作流,那么这个 Pipeline 到底是什么样的呢?在 Pipeline 中,开发者能够使用 JSON 来描述从样本收集、模型定义、模型训练和模型评估这些阶段。

  1. {
  2. "plugins": {
  3. "dataCollect": {
  4. "package": "@pipcook/plugins-csv-data-collect",
  5. "params": {
  6. "url": "http://foobar"
  7. }
  8. },
  9. "dataAccess": {
  10. "package": "@pipcook/plugins-csv-data-access",
  11. "params": {
  12. "labelColumn": "output"
  13. }
  14. },
  15. "modelDefine": {
  16. "package": "@pipcook/plugins-bayesian-model-define"
  17. },
  18. "modelTrain": {
  19. "package": "@pipcook/plugins-bayesian-model-train"
  20. },
  21. "modelEvaluate": {
  22. "package": "@pipcook/plugins-bayesian-model-evaluate"
  23. }
  24. }
  25. }

如上面文件所示,一个 Pipeline 由不同的插件组成,然后我们为每个插件添加了 params 字段来传递不同的参数。接着,Pipeline 解释器就会根据这个 JSON 文件中定义的插件和参数,来执行不同的操作。

如果想获取更多插件相关的知识,可以阅读插件使用手册

下一步,我们在定义好一个 Pipeline 文件后,就能通过 Pipcook 来运行它了。

准备工作

通过命令行工具配置指南来做运行 Pipeline 前的准备。

运行

将上面的 Pipeline 保存在任何地方,然后执行:

  1. $ pipcook run /path/to/your/pipeline-config.json

执行完成后,训练好的模型会生成在当前工作目录下的 output 中。

  1. 📂output
  2. 📂logs
  3. 📂model
  4. 📜package.json
  5. 📜metadata.json
  6. 📜index.js

为了使用训练好的模型,还需要完成以下步骤:

  1. $ npm install

上述的命令会帮助你安装依赖,它们包括插件以及插件所依赖的 Python 包。Pipcook 也提供了一条命令,来使用 tuna 镜像来下载 Python 包:

  1. $ BOA_TUNA=1 npm install

output 初始化完成,就可以使用 import 来导入你的模型了:

  1. import * as predict from './output';
  2. predict('your input data');