全部产品
云市场

PAI-EAS内置Processor介绍

更新时间:2019-04-26 18:46:43

Processor是包含在线预测逻辑的程序包,我们已经针对常用的PMML、TensorFlow、Caffe提供好了内置的Processor,这几类的常规模型都可以直接使用我们的内置Processor进行服务部署,节省开发在线预测逻辑的成本。

目录

  1. PMML Processor
  2. TensorFlow Processor
  3. Caffe Processor

1. PMML Processor

  • 什么是PMMLPredictive Model Markup Language,一种预测模型标记语言,在PAI Studio上训练的传统机器学习模型大多都可以导出为这种格式
  • PAI Studio中PMML模型导出方法:
    • 在执行实验前在[设置-基本设置]勾选自动生成PMML,
    • 点击执行实验,执行完成后,在画布中的模型训练节点上[右键单击节点-模型选项-导出PMML],或者画布左侧[模型-右键单击模型-导出PMML],可直接下载生成好的PMML模型
    • PAI Studio中可生成PMML模型的算法包括:GBDT二分类、线性支持向量机、逻辑回归二分类、逻辑回归多分类、随机森林、KMeans、线性回归、GBDT回归、评分卡训练等
  • PAI-EAS通用PMML Processor主要执行的功能为,将PMML类型的模型文件加载成一个服务,处理对模型服务进行调用的请求,按模型计算出结果进行返回。
  • PMML Processor提供了默认的缺失值填充策略,当PMML模型文件中的特征字段没有指定isMissing策略时,我们会默认以下面值填充缺失值。
DataType 默认缺失值填充
Boolean false
Double 0.0
Float 0.0
Int 0
String “”
  • PMML模型部署支持方式

    1. 控制台上传:模型上传部署-模型配置-processor种类选择PMML,按提示操作即可
    2. 在PAI Studio部署:画布点击[部署-在线服务部署]后按操作提示即可
    3. 本地客户端部署:在创建服务的配置service.json中指定processor字段为pmml,如下所示,客户端完整部署方式请查看

      1. {
      2. "processor": "pmml",
      3. "generate_token": "true",
      4. "model_path": "http://xxxxx/lr.pmml",
      5. "name": "eas_lr_example",
      6. "metadata": {
      7. "instance": 1,
      8. "cpu": 1 #自动为每个cpu配置4G内存,称为1Quota
      9. }
      10. }
    4. 在DSW中部署:同本地客户端部署方式

2. TensorFlow Processor

  • PAI EAS提供的TensorFlow Processor可以加载SavedModel(推荐)、SessionBundle(官方已废弃)格式的TensorFlow模型,Keras模型或者Checkpoint可以参考TensorFlow模型导出中的方法进行模型转换后,再进行模型部署
  • 通用Processor不支持自定义OP
  • TensorFlow模型部署支持方式
    1. 控制台上传:模型上传部署-模型配置-processor种类选择TensorFlow,按提示操作即可
    2. 在PAI Studio部署:画布点击[部署-在线服务部署]后按操作提示即可
    3. 本地客户端部署:在创建服务的配置service.json中指定processor字段为tensorflow_cpu或者tensorflow_gpu,需要根据部署所用的资源来选择,如果不匹配会导致部署报错。简单示例如下所示,客户端完整部署方式请查看
  1. {
  2. "name": "tf_serving_test",
  3. "generate_token": "true",
  4. "model_path": "http://xxxxx/savedmodel_example.zip",
  5. "processor": "tensorflow_cpu",
  6. "metadata": {
  7. "instance": 1,
  8. "cpu": 1,
  9. "gpu": 0,
  10. "memory": 2000
  11. }
  12. }
  1. 在DSW中部署:同本地客户端部署方式

3. Caffe Processor

  • PAI EAS提供的Caffe Processor可以加载Caffe框架训练出来的深度学习模型
  • 由于Caffe框架的灵活性,我们在部署Caffe模型时,需要指定模型包中的Model文件名称和Weight文件名称,如下示例
  • 通用Processor不支持自定义DataLayer
  • Caffe模型部署支持方式
    1. 控制台上传,Processor种类选择Caffe
    2. 本地客户端部署:在创建服务的配置service.json中指定processor字段为caffe_cpu或者caffe_gpu,根据部署所用的资源类型来选择,如果不匹配会导致部署报错。简单示例如下所示,客户端完整部署方式请查看EASCMD客户端使用手册
    3. 在DSW中部署:同本地客户端部署方式
      1. {
      2. "name": "caffe_serving_test",
      3. "generate_token": "true",
      4. "model_path": "http://xxxxx/caffe_model.zip",
      5. "processor": "caffe_cpu",
      6. "model_config": {
      7. "model": "deploy.prototxt",
      8. "weight": "bvlc_reference_caffenet.caffemodel"
      9. },
      10. "metadata": {
      11. "instance": 1,
      12. "cpu": 1,
      13. "gpu": 0,
      14. "memory": 2000
      15. }
      16. }