Processor是包含在线预测逻辑的程序包。PAI-EAS已将一些常用的Processor预置为官方Processor,您可以直接使用该官方Processor部署常规模型,节省开发在线预测逻辑的成本。
Processor名称 | Processor Code(仅用于EASCMD部署) | 文档 | |
---|---|---|---|
CPU版 | GPU版 | ||
PMML | pmml | 无 | PMML Processor |
TensorFlow1.12 | tensorflow_cpu_1.12 | tensorflow_gpu_1.12 | TensorFlow1.12 Processor |
TensorFlow1.14 | tensorflow_cpu_1.14 | tensorflow_gpu_1.14 | TensorFlow1.14 Processor |
TensorFlow1.15 | tensorflow_cpu_1.15 | tensorflow_gpu_1.15 | TensorFlow1.15 Processor(内置PAI-Blade敏捷版优化引擎) |
PyTorch1.6 | pytorch_cpu_1.6 | pytorch_gpu_1.6 | PyTorch1.6 Processor(内置PAI-Blade敏捷版优化引擎) |
Caffe | caffe_cpu | caffe_gpu | Caffe Processor |
PS算法 | parameter_sever | 无 | 无 |
Alink | alink_pai_processor | 无 | 无 |
xNN | xnn_cpu | 无 | 无 |
EasyVision | easy_vision_cpu_tf1.12_torch151 | easy_vision_gpu_tf1.12_torch151 | EasyVision Processor |
EasyNLP | easy_nlp_cpu_tf1.12 | easy_nlp_gpu_tf1.12 | EasyNLP Processor |
Blade | blade_cpu | blade_cuda10.0_beta | 无 |
MediaFlow | 无 | mediaflow | MediaFlow Processor |
PMML Processor
- 模型训练前,在PAI-Studio首页,单击自动生成PMML复选框。 ,并选中
- 模型训练完成后,右键单击画布中的模型训练节点,在快捷菜单,单击 。
- 将PMML类型的模型文件加载为一个服务。
- 处理对模型服务进行调用的请求。
- 根据模型计算请求结果,并将其返回至客户端。
DataType | 默认填充值 |
---|---|
BOOLEAN | false |
DOUBLE | 0.0 |
FLOAT | 0.0 |
INT | 0 |
STRING | “” |
- 控制台上传
选择Processor种类为PMML,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即pmml,示例如下。
{ "processor": "pmml", "generate_token": "true", "model_path": "http://xxxxx/lr.pmml", "name": "eas_lr_example", "metadata": { "instance": 1, "cpu": 1 #自动为每个CPU配置4 GB内存,称为1 Quota。 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。
TensorFlow1.12 Processor
- 控制台上传
选择Processor种类为TensorFlow1.12,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即tensorflow_cpu_1.12或tensorflow_gpu_1.12(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),示例如下。
{ "name": "tf_serving_test", "generate_token": "true", "model_path": "http://xxxxx/savedmodel_example.zip", "processor": "tensorflow_cpu_1.12", "metadata": { "instance": 1, "cpu": 1, "gpu": 0, "memory": 2000 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。
TensorFlow1.14 Processor
- 控制台上传
选择Processor种类为TensorFlow1.14,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即tensorflow_cpu_1.14或tensorflow_gpu_1.14(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),示例如下。
{ "name": "tf_serving_test", "generate_token": "true", "model_path": "http://xxxxx/savedmodel_example.zip", "processor": "tensorflow_cpu_1.14", "metadata": { "instance": 1, "cpu": 1, "gpu": 0, "memory": 2000 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。
TensorFlow1.15 Processor(内置PAI-Blade敏捷版优化引擎)
- 官方通用Processor不支持TensorFlow自定义OP。
- 该Processor内置了PAI-Blade敏捷版优化引擎,您可以使用它部署PAI-Blade敏捷版优化后的TensorFlow模型。
- 控制台上传
选择Processor种类为TensorFlow1.15,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即tensorflow_cpu_1.15或tensorflow_gpu_1.15(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),示例如下。
{ "name": "tf_serving_test", "generate_token": "true", "model_path": "http://xxxxx/savedmodel_example.zip", "processor": "tensorflow_cpu_1.15", "metadata": { "instance": 1, "cpu": 1, "gpu": 0, "memory": 2000 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。关于服务配置文件中的参数解释请参见创建服务。
PyTorch1.6 Processor(内置PAI-Blade敏捷版优化引擎)
- 官方通用Processor不支持PyTorch扩展、不支持非Tensor类型的模型输入和输出。
- 该Processor内置了PAI-Blade敏捷版优化引擎,您可以使用它部署PAI-Blade敏捷版优化后的PyTorch模型。
- 控制台上传
选择Processor种类为PyTorch1.6,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即pytorch_cpu_1.6或pytorch_gpu_1.6(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),示例如下。
{ "name": "pytorch_serving_test", "generate_token": "true", "model_path": "http://xxxxx/torchscript_model.pt", "processor": "pytorch_gpu_1.6", "metadata": { "instance": 1, "cpu": 1, "gpu": 1, "cuda": "10.0", "memory": 2000 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。关于服务配置文件中的参数解释请参见创建服务。
Caffe Processor
- 控制台上传
选择Processor种类为Caffe,详情请参见控制台上传部署。
- PAI-Studio一键部署
详情请参见PAI-Studio一键部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即caffe_cpu或caffe_gpu(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),示例如下。
{ "name": "caffe_serving_test", "generate_token": "true", "model_path": "http://xxxxx/caffe_model.zip", "processor": "caffe_cpu", "model_config": { "model": "deploy.prototxt", "weight": "bvlc_reference_caffenet.caffemodel" }, "metadata": { "instance": 1, "cpu": 1, "gpu": 0, "memory": 2000 } }
- PAI-DSW部署
类似于本地客户端部署,编写服务配置文件service.json,详情请参见服务部署。
EasyNLP Processor
PAI-EAS提供的EasyNLP Processor可以加载EasyTransfer框架训练得到的深度学习NLP模型。
- 控制台上传
选择Processor种类为EasyNLP,详情请参见控制台上传部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即easy_nlp_cpu_tf1.12或easy_nlp_gpu_tf1.12(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),在model_config的type字段指定训练时所使用的模型类型,示例如下。其他参数的详细解释请参见创建服务:
- 使用GPU部署的配置
{ "name": "ev_app_demo", "generate_token": "true", "model_path": "http://xxxxx/your_model.zip", "processor": "easy_nlp_gpu_tf1.12", "model_config": "{\"type\":\"text_classify_bert\"}", "metadata": { "resource": "your_resource_name", "cuda": "9.0", "instance": 1, "memory": 4000, "gpu": 1, "cpu": 4, "rpc.worker_threads" : 5 } }
- 使用CPU部署的配置
{ "name": "easynlp_serving_test", "generate_token": "true", "model_path": "http://xxxxx/your_model.zip", "processor": "easy_nlp_cpu_tf1.12", "model_config": "{\"type\":\"text_classify_bert\"}", "metadata": { "resource": "your_resource_name", "instance": 1, "gpu": 0, "cpu": 4, "rpc.worker_threads" : 5 } }
- 使用GPU部署的配置
EasyVision Processor
PAI-EAS提供的EasyVision Processor可以加载EasyVision框架训练得到的深度学习模型。
- 控制台上传
选择Processor种类为EasyVision,详情请参见控制台上传部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即easy_vision_cpu_tf1.12_torch151或easy_vision_gpu_tf1.12_torch151(需要根据部署所用的资源进行选择,如果processor与资源不匹配,则会导致部署报错),在model_config的type字段指定训练时所使用的模型类型,示例如下。其他参数的详细解释请参见创建服务:
- 使用GPU部署的配置
{ "name": "ev_app_demo", "processor": "easy_vision_gpu_tf1.12_torch151", "model_path": "oss://path/to/your/model", "model_config": "{\"type\":\"classifier\"}", "metadata": { "resource": "your_resource_name", "cuda": "9.0", "instance": 1, "memory": 4000, "gpu": 1, "cpu": 4, "rpc.worker_threads" : 5 } }
- 使用CPU部署的配置
{ "name": "ev_app_cpu_demo", "processor": "easy_vision_cpu_tf1.12_torch151", "model_path": "oss://path/to/your/model", "model_config": "{\"type\":\"classifier\"}", "metadata": { "resource": "your_resource_name", "instance": 1, "memory": 4000, "gpu": 0, "cpu": 4, "rpc.worker_threads" : 5 } }
- 使用GPU部署的配置
MediaFlow Processor
PAI-EAS 提供的MediaFlow Processor是通用的编排引擎,可以进行视频、音频及图像分析处理。
- 控制台上传
选择Processor种类为MediaFlow,详情请参见控制台上传部署。
- 本地客户端部署
在服务配置文件service.json中,将processor字段配置为相应的Processor Code,即mediaflow。此外,使用MediaFlow Processor部署模型,还需要增加如下特有字段,其他字段说明请参见创建服务:
- graph_pool_size:图池的数量。
- worker_threads:调度线程的数量。
- 部署视频分类模型的配置。
{ "model_entry": "video_classification/video_classification_ext.js", "name": "video_classification", "model_path": "oss://path/to/your/model", "generate_token": "true", "processor": "mediaflow", "model_config" : { "graph_pool_size":8, "worker_threads":16 }, "metadata": { "eas.handlers.disable_failure_handler" :true, "resource": "your_resource_name", "rpc.worker_threads": 30, "rpc.enable_jemalloc": true, "rpc.keepalive": 500000, "cpu": 4, "instance": 1, "cuda": "9.0", "rpc.max_batch_size": 64, "memory": 10000, "gpu": 1 } }
- 部署语音识别(ASR)模型的配置。
{ "model_entry": "asr/video_asr_ext.js", "name": "video_asr", "model_path": "oss://path/to/your/model", "generate_token": "true", "processor": "mediaflow", "model_config" : { "graph_pool_size":8, "worker_threads":16 }, "metadata": { "eas.handlers.disable_failure_handler" :true, "resource": "your_resource_name", "rpc.worker_threads": 30, "rpc.enable_jemalloc": true, "rpc.keepalive": 500000, "cpu": 4, "instance": 1, "cuda": "9.0", "rpc.max_batch_size": 64, "memory": 10000, "gpu": 1 } }
在文档使用中是否遇到以下问题
更多建议
匿名提交