一、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進行模型部署的基本步驟:
- 準備模型文件
- 準備配置文件
- 運行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的模型部署。需要注意的是,不同的模型具有不同的模型導入方式,需要根據實際情況進行調整。如有需要,可通過官網提供的文檔進行進一步學習。
原創文章,作者:LVAT,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/150304.html