您的位置:

PD Runner下载-全方位分析

一、PD Runner下载介绍

PD Runner作为一款优秀的Paddle Serving启动器,能够为使用Paddle Serving部署的模型提供批量查询服务。PD Runner下载的方式有多种,包括GitHub、Docker Hub、PaddlePaddle官网等途径。但是,其中最为便捷和流程标准的是通过GitHub下载最新版本的源码,自主编译的方法获取PD Runner。

二、通过GitHub下载PD Runner源码

GitHub相信大家都非常熟悉了,这里说一下PD Runner在GitHub上获取的步骤。如下:

git clone https://github.com/PaddlePaddle/Serving.git
cd Serving/
git checkout develop
cd paddle/fluid/inference/api/demo_ci/pdrunner

其中git clone是克隆一份Serving代码,cd Serving/进入Serving目录,git checkout develop是将Serving代码切换到对应版本,进入pdrunner目录。

三、PD Runner编译

PD Runner下载完成后需要进入pdrunner目录进行编译。官网提供的编译命令如下:

./compile.sh -d x86_cuda10.0

其中-d代表构建平台的选项,不同的选项可能需要用到不同的编译环境,目前可供选择的选项有:

  • x86_cpu
  • x86_cuda10.0
  • x86_cuda10.1
  • x86_cuda10.2
  • armeabi-v7a
  • arm64-v8a

更多编译选项可通过./compile.sh --help命令查询。

四、PD Runner使用

PD Runner编译完成后,我们就可以使用它进行模型部署。以下是使用PD Runner进行模型部署的基本步骤:

  1. 准备模型文件
  2. 准备配置文件
  3. 运行PD Runner命令进行服务开启

PD Runner支持多种模型的导入,如PaddlePaddlefluid模型、ONNX格式模型,以及其他常见的深度学习框架模型。我们在样例中使用PaddlePaddle提供的"GPT2 EN small"模型。

1.准备模型文件

将模型文件以及相关文件夹放置于任意文件夹下,如下图:

2.准备配置文件

PD Runner服务的配置文件是一个JSON格式文件,常用的几个键值对配置如下:

{
    "conf": "./conf/pdrunner/pdrunner_conf.prototxt",
    "mode": "gpu",
    "devices": "0",
    "log_dir": "/tmp/log_dir",
    "web_service": true,
    "port": 9292,
    "max_concurrency": 4
}

其他可选的配置信息包括序列号化方式、模型文件路径、预测API路径、保存模型路径以及预测超时时间等,详情请参考官网文档。

配置完成后,将JSON格式的配置文件放置于任意目录下,更改目录和JSON文件名,如下图:

3.运行PD Runner命令进行服务开启

使用以下命令启动PD Runner服务:

./pdrunner http --model <模型文件夹> --port <服务端口> --config <配置文件路径>

其中参数--model指明模型文件夹的位置,<模型文件夹>为配置的模型文件夹路径;--port指明服务开放的端口号,<服务端口>为配置的服务端口号;--config指明配置文件的位置,<配置文件路径>为配置文件的路径。

命令执行完成后,在本地主机上访问127.0.0.1:9292/ping可以确认是否服务成功开启。

五、小结

PD Runner下载、编译与使用相对比较简单,通过上述步骤即可完成基于Paddle Serving的模型部署。需要注意的是,不同的模型具有不同的模型导入方式,需要根据实际情况进行调整。如有需要,可通过官网提供的文档进行进一步学习。