强烈建议您在Docker内构建Paddle Serving,更多镜像请查看Docker镜像列表。
提示-1:Paddle Serving项目仅支持Python3.6/3.7/3.8/3.9,接下来所有的与Python/Pip相关的操作都需要选择正确的Python版本。
提示-2:以下示例中GPU环境均为cuda11.2-cudnn8,如果您使用Python Pipeline来部署,并需要Nvidia TensorRT来优化预测性能,请参考以下说明来选择其他版本。
一、docker镜像下载及容器启动
开发镜像有两种, 分别为:
Serving 镜像: registry.baidubce.com/paddlepaddle/serving:{Tag}
Paddle 镜像: registry.baidubce.com/paddlepaddle/paddle:{Tag}
两种镜像都支持安装Serving, 但是:在Paddle docker镜像上部署 Servin g服务需要安装额外依赖库,因此,我们直接使用 Serving 开发镜像。
下载 CPU最新版镜像, 并启动容器:
# 启动 CPU Docker
docker pull registry.baidubce.com/paddlepaddle/serving:0.9.0-devel
docker run -p 9292:9292 --name test_cpu -dit registry.baidubce.com/paddlepaddle/serving:0.9.0-devel bash
docker exec -it test_cpu bash
git clone https://github.com/PaddlePaddle/Serving
二、在镜像中安装相关依赖
2.1 安装requirements
cd Serving
pip3 install -r python/requirements.txt
这里可能会报错:
Building wheels for collected packages: av
Building wheel for av (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python3.6 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-33ucddr6/av_a8ed30cb6adf4834b63b8b918a77b42a/setup.py'"'"'; file='"'"'/tmp/pip-install-33ucddr6/av_a8ed30cb6adf4834b63b8b918a77b42a/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-2di0ikr3
cwd: /tmp/pip-install-33ucddr6/av_a8ed30cb6adf4834b63b8b918a77b42a/
Complete output (48 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/av
copying av/main.py -> build/lib.linux-x86_64-3.6/av
copying av/init.py -> build/lib.linux-x86_64-3.6/av
copying av/datasets.py -> build/lib.linux-x86_64-3.6/av
copying av/deprecation.py -> build/lib.linux-x86_64-3.6/av
creating build/lib.linux-x86_64-3.6/av/container
copying av/container/init.py -> build/lib.linux-x86_64-3.6/av/container
creating build/lib.linux-x86_64-3.6/av/subtitles
copying av/subtitles/init.py -> build/lib.linux-x86_64-3.6/av/subtitles
creating build/lib.linux-x86_64-3.6/av/codec
copying av/codec/init.py -> build/lib.linux-x86_64-3.6/av/codec
creating build/lib.linux-x86_64-3.6/av/filter
copying av/filter/init.py -> build/lib.linux-x86_64-3.6/av/filter
creating build/lib.linux-x86_64-3.6/av/audio
copying av/audio/init.py -> build/lib.linux-x86_64-3.6/av/audio
creating build/lib.linux-x86_64-3.6/av/data
copying av/data/init.py -> build/lib.linux-x86_64-3.6/av/data
creating build/lib.linux-x86_64-3.6/av/video
copying av/video/init.py -> build/lib.linux-x86_64-3.6/av/video
creating build/lib.linux-x86_64-3.6/av/sidedata
copying av/sidedata/init.py -> build/lib.linux-x86_64-3.6/av/sidedata
running build_ext
running config
PyAV: 8.0.3 (unknown commit)
Python: 3.6.0 (default, Mar 4 2022, 05:45:55) \n[GCC 8.2.0]
platform: Linux-5.4.0-150-generic-x86_64-with-debian-stretch-sid
extension_extra:
include_dirs: [b'include']
libraries: []
library_dirs: []
define_macros: []
runtime_library_dirs: []
config_macros:
PYAV_COMMIT_STR="unknown-commit"
PYAV_VERSION=8.0.3
PYAV_VERSION_STR="8.0.3"
Could not find libavformat with pkg-config.
Could not find libavcodec with pkg-config.
Could not find libavdevice with pkg-config.
Could not find libavutil with pkg-config.
Could not<