2-2_Environment_CN.md 10.6 KB
Newer Older
S
ShiningZhang 已提交
1
# 原生系统标准环境配置
S
ShiningZhang 已提交
2

S
ShiningZhang 已提交
3
本文介绍基于原生系统标准环境进行配置安装。
S
ShiningZhang 已提交
4

S
ShiningZhang 已提交
5 6 7 8
<img src="images/2-2_Environment_CN_1.png">


## CentOS 7 环境配置(第一步)
S
ShiningZhang 已提交
9 10

**一.环境准备**
S
ShiningZhang 已提交
11 12 13

* **Python 版本 3.6/3.7/3.8/3.9 (64 bit)**

S
ShiningZhang 已提交
14
**二.选择 CPU/GPU**
S
ShiningZhang 已提交
15 16 17

* 如果您的计算机有 NVIDIA® GPU,请确保满足以下条件

S
ShiningZhang 已提交
18 19
    * **CUDA 工具包:10.1/10.2 配合 cuDNN 7 (cuDNN 版本>=7.6.5) 或者 11.2 配合 cuDNN v8.1.1**
    * **兼容版本的 TensorRT**
S
ShiningZhang 已提交
20 21
    * **GPU运算能力超过3.5的硬件设备**

S
ShiningZhang 已提交
22
        您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/),[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/),[TensorRT](https://docs.nvidia.com/deeplearning/tensorrt/index.html), [GPU算力](https://developer.nvidia.com/cuda-gpus)
S
ShiningZhang 已提交
23

S
ShiningZhang 已提交
24
**三.安装必要工具**
S
ShiningZhang 已提交
25

S
ShiningZhang 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38
需要安装的依赖库及工具详见下表:

|             组件             |             版本要求              |
| :--------------------------: | :-------------------------------: |
|         bzip2-devel          |          1.0.6 and later          |
|              make              |     later     |
|             gcc              |          8.2.0         |
|           gcc-c++            |          8.2.0         |
|            cmake             |          3.15.0 and later          |
|              Go              |          1.17.2 and later          |
|        openssl-devel         |              1.0.2k               |
|           patchelf           |                0.9                |

S
ShiningZhang 已提交
39
1. 更新系统源
S
ShiningZhang 已提交
40 41 42 43 44 45 46 47 48 49 50 51 52

    更新`yum`的源:

    ```
    yum update
    ```

    并添加必要的yum源:

    ```
    yum install -y epel-release
    ```

S
ShiningZhang 已提交
53
2. 安装工具
S
ShiningZhang 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

    `bzip2`以及`make`:

    ```
    yum install -y bzip2
    ```

    ```
    yum install -y make
    ```

    cmake 需要3.15以上,建议使用3.16.0:

    ```
    wget -q https://cmake.org/files/v3.16/cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    tar -zxvf cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    rm cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    PATH=/home/cmake-3.16.0-Linux-x86_64/bin:$PATH
    ```

    gcc 需要5.4以上,建议使用8.2.0:

    ```
    wget -q https://paddle-docker-tar.bj.bcebos.com/home/users/tianshuo/bce-python-sdk-0.8.27/gcc-8.2.0.tar.xz && \
    tar -xvf gcc-8.2.0.tar.xz && \
    cd gcc-8.2.0 && \
    sed -i 's#ftp://gcc.gnu.org/pub/gcc/infrastructure/#https://paddle-ci.gz.bcebos.com/#g' ./contrib/download_prerequisites && \
    unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
    ./contrib/download_prerequisites && \
    cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \
    ../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \
    make -j8 && make install
    ```

S
ShiningZhang 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
3. 安装GOLANG

    建议使用 go1.17.2:

    ```
    wget -qO- https://go.dev/dl/go1.17.2.linux-amd64.tar.gz | \
    tar -xz -C /usr/local && \
    mkdir /root/go && \
    mkdir /root/go/bin && \
    mkdir /root/go/src && \
    echo "GOROOT=/usr/local/go" >> /root/.bashrc && \
    echo "GOPATH=/root/go" >> /root/.bashrc && \
    echo "PATH=/usr/local/go/bin:/root/go/bin:$PATH" >> /root/.bashrc
    source /root/.bashrc
    ```
  
4. 安装依赖库

    安装相关依赖库 patchelf:

    ```
    yum install patchelf
    ```

    配置 ssl 依赖库

    ```
    wget https://paddle-serving.bj.bcebos.com/others/centos_ssl.tar && \
    tar xf centos_ssl.tar && rm -rf centos_ssl.tar && \
    mv libcrypto.so.1.0.2k /usr/lib/libcrypto.so.1.0.2k && mv libssl.so.1.0.2k /usr/lib/libssl.so.1.0.2k && \
    ln -sf /usr/lib/libcrypto.so.1.0.2k /usr/lib/libcrypto.so.10 && \
    ln -sf /usr/lib/libssl.so.1.0.2k /usr/lib/libssl.so.10 && \
    ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so && \
    ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so
    ```

S
ShiningZhang 已提交
133
## Ubuntu 16.04/18.04 环境配置(第一步)
S
ShiningZhang 已提交
134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160

**一.环境准备**

* **Python 版本 3.6/3.7/3.8/3.9 (64 bit)**

**二.选择 CPU/GPU**

* 如果您的计算机有 NVIDIA® GPU,请确保满足以下条件

    * **CUDA 工具包 10.1/10.2 配合 cuDNN 7 (cuDNN 版本>=7.6.5)**
    * **CUDA 工具包 11.2 配合 cuDNN v8.1.1**
    * **配套版本的 TensorRT**
    * **GPU运算能力超过3.5的硬件设备**

        您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/),[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/),[TensorRT](https://docs.nvidia.com/deeplearning/tensorrt/index.html)

**三.安装必要工具**

1. 更新系统源

    更新`apt`的源:

    ```
    apt update
    ```

2. 安装工具
S
ShiningZhang 已提交
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202

    `bzip2`以及`make`:

    ```
    apt install -y bzip2
    ```
    ```
    apt install -y make
    ```

    cmake 需要3.15以上,建议使用3.16.0:

    ```
    wget -q https://cmake.org/files/v3.16/cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    tar -zxvf cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    rm cmake-3.16.0-Linux-x86_64.tar.gz
    ```

    ```
    PATH=/home/cmake-3.16.0-Linux-x86_64/bin:$PATH
    ```

    gcc 需要5.4以上,建议使用8.2.0:

    ```
    wget -q https://paddle-docker-tar.bj.bcebos.com/home/users/tianshuo/bce-python-sdk-0.8.27/gcc-8.2.0.tar.xz && \
    tar -xvf gcc-8.2.0.tar.xz && \
    cd gcc-8.2.0 && \
    sed -i 's#ftp://gcc.gnu.org/pub/gcc/infrastructure/#https://paddle-ci.gz.bcebos.com/#g' ./contrib/download_prerequisites && \
    unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE && \
    ./contrib/download_prerequisites && \
    cd .. && mkdir temp_gcc82 && cd temp_gcc82 && \
    ../gcc-8.2.0/configure --prefix=/usr/local/gcc-8.2 --enable-threads=posix --disable-checking --disable-multilib && \
    make -j8 && make install
    ```

S
ShiningZhang 已提交
203
3. 安装GOLANG
S
ShiningZhang 已提交
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218

    建议使用 go1.17.2:

    ```
    wget -qO- https://go.dev/dl/go1.17.2.linux-amd64.tar.gz | \
    tar -xz -C /usr/local && \
    mkdir /root/go && \
    mkdir /root/go/bin && \
    mkdir /root/go/src && \
    echo "GOROOT=/usr/local/go" >> /root/.bashrc && \
    echo "GOPATH=/root/go" >> /root/.bashrc && \
    echo "PATH=/usr/local/go/bin:/root/go/bin:$PATH" >> /root/.bashrc
    source /root/.bashrc
    ```
  
S
ShiningZhang 已提交
219
4. 安装依赖库
S
ShiningZhang 已提交
220 221 222 223

    安装相关依赖库 patchelf:

    ```
S
ShiningZhang 已提交
224
    apt-get install patchelf
S
ShiningZhang 已提交
225 226 227 228 229 230 231 232 233 234 235 236 237 238
    ```

    配置 ssl 依赖库

    ```
    wget https://paddle-serving.bj.bcebos.com/others/centos_ssl.tar && \
    tar xf centos_ssl.tar && rm -rf centos_ssl.tar && \
    mv libcrypto.so.1.0.2k /usr/lib/libcrypto.so.1.0.2k && mv libssl.so.1.0.2k /usr/lib/libssl.so.1.0.2k && \
    ln -sf /usr/lib/libcrypto.so.1.0.2k /usr/lib/libcrypto.so.10 && \
    ln -sf /usr/lib/libssl.so.1.0.2k /usr/lib/libssl.so.10 && \
    ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so && \
    ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so
    ```

S
ShiningZhang 已提交
239
## Windows 环境配置(第一步)
S
ShiningZhang 已提交
240

S
ShiningZhang 已提交
241
由于受限第三方库的支持,Windows平台目前只支持用web service的方式搭建local predictor预测服务。
S
ShiningZhang 已提交
242

S
ShiningZhang 已提交
243
**一.环境准备**
S
ShiningZhang 已提交
244

S
ShiningZhang 已提交
245 246 247 248 249
* **Python 版本 3.6/3.7/3.8/3.9 (64 bit)**

**二.选择 CPU/GPU**

* 如果您的计算机有 NVIDIA® GPU,请确保满足以下条件
S
ShiningZhang 已提交
250

S
ShiningZhang 已提交
251 252 253 254 255 256 257 258
    * **CUDA 工具包 10.1/10.2 配合 cuDNN 7 (cuDNN 版本>=7.6.5)**
    * **CUDA 工具包 11.2 配合 cuDNN v8.1.1**
    * **配套版本的 TensorRT**
    * **GPU运算能力超过3.5的硬件设备**

        您可参考NVIDIA官方文档了解CUDA和CUDNN的安装流程和配置方法,请见[CUDA](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/),[cuDNN](https://docs.nvidia.com/deeplearning/sdk/cudnn-install/),[TensorRT](https://docs.nvidia.com/deeplearning/tensorrt/index.html)

**三.安装必要工具**
S
ShiningZhang 已提交
259 260 261 262 263 264 265 266 267 268 269 270 271

1. 更新 wget 工具

    在链接[下载wget](http://gnuwin32.sourceforge.net/packages/wget.htm),解压后复制到`C:\Windows\System32`下,如有安全提示需要通过。

2. 安装git工具

    详情参见[Git官网](https://git-scm.com/downloads)

3. 安装必要的C++库(可选)

    部分用户可能会在`import paddle`阶段遇见dll无法链接的问题,建议[安装Visual Studio社区版本](https://visualstudio.microsoft.com/) ,并且安装C++的相关组件。

S
ShiningZhang 已提交
272
## 使用 pip 安装(第二步)
S
ShiningZhang 已提交
273 274 275

**一. 安装服务 whl 包**

S
ShiningZhang 已提交
276
   服务 whl 包包括: client、app、server,其中 Server 分为 CPU 和 GPU,GPU 包根据您的环境选择一种安装
S
ShiningZhang 已提交
277 278 279 280 281 282 283 284 285

   ```
   pip3 install paddle-serving-client==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
   pip3 install paddle-serving-app==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
   
   # CPU Server
   pip3 install paddle-serving-server==0.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
   
   # GPU Server,需要确认环境再选择执行哪一条,推荐使用CUDA 10.2的包
S
ShiningZhang 已提交
286
   # CUDA10.2 + Cudnn7 + TensorRT6(推荐)
S
ShiningZhang 已提交
287
   pip3 install paddle-serving-server-gpu==0.8.3.post102 -i https://pypi.tuna.tsinghua.edu.cn/simple 
S
ShiningZhang 已提交
288
   # CUDA10.1 + TensorRT6
S
ShiningZhang 已提交
289
   pip3 install paddle-serving-server-gpu==0.8.3.post101 -i https://pypi.tuna.tsinghua.edu.cn/simple
S
ShiningZhang 已提交
290
   # CUDA11.2 + TensorRT8
S
ShiningZhang 已提交
291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311
   pip3 install paddle-serving-server-gpu==0.8.3.post112 -i https://pypi.tuna.tsinghua.edu.cn/simple
   ```

   默认开启国内清华镜像源来加速下载,如果您使用 HTTP 代理可以关闭(`-i https://pypi.tuna.tsinghua.edu.cn/simple`)

**二. 安装 Paddle 相关 Python 库**
   **当您使用`paddle_serving_client.convert`命令或者`Python Pipeline 框架`时才需要安装。**
   ```
   # CPU 环境请执行
   pip3 install paddlepaddle==2.2.2

   # GPU CUDA 10.2环境请执行
   pip3 install paddlepaddle-gpu==2.2.2
   ```
   **注意**: 如果您的 Cuda 版本不是10.2,或者您需要在 GPU 环境上使用 TensorRT,请勿直接执行上述命令,需要参考[Paddle-Inference官方文档-下载安装Linux预测库](https:/paddleinference.paddlepaddle.org.cn/master/user_guides/download_lib.html#python)选择相应的 GPU 环境的 url 链接并进行安装。

**三. 安装完成后的环境检查**
   当以上步骤均完成后可使用命令行运行环境检查功能,自动运行 Paddle Serving 相关示例,进行环境相关配置校验。

   ```
   python3 -m paddle_serving_server.serve check
S
ShiningZhang 已提交
312 313 314 315 316 317 318
   # 以下输出表明环境检查正常
   (Cmd) check_all
   PaddlePaddle inference environment running success
   C++ cpu environment running success
   C++ gpu environment running success
   Pipeline cpu environment running success
   Pipeline gpu environment running success
S
ShiningZhang 已提交
319 320 321
   ```

   详情请参考[环境检查文档](./Check_Env_CN.md)