×

Adlik加速深度学习推理的工具包

消耗积分:0 | 格式:zip | 大小:16.01 MB | 2022-06-16

李波

分享资料个

授权协议 Apache-2.0
开发语言 C/C++ Python
操作系统 跨平台
软件类型 开源软件

软件简介

Adlik 是深度学习模型的端到端优化框架。Adlik 的目标是在云和嵌入式环境中加速深度学习推理过程。

poYBAGKoB6qAfljjAAHaFoWjb9Q078.png

使用 Adlik 框架,不同的深度学习模型可以以非常灵活和简单的方式以高性能部署到不同的平台。

pYYBAGKoB6uASnSeAAERBuS6wOQ017.png

  1. 在云环境中,编译后的模型和 Adlik 推理引擎应构建为 docker 镜像,并部署为容器。

  2. 在边缘环境中,应将 Adlik 推理引擎部署为容器。编译后的模型应该转移到边缘环境,Adlik 推理引擎应该自动更新和加载模型。

  3. 在设备环境中,Adlik Inference Engine 和编译后的模型应编译为二进制文件。想要在设备上运行模型推理的用户应该将用户定义的 AI 函数和 Adlik 二进制文件链接到执行文件,并直接运行。

构建

本指南用于在 Ubuntu 系统上构建 Adlik 。

首先,安装 Git 和 Bazel

然后,克隆 Adlik 并将工作目录更改为源目录:

git clone https://github.com/ZTE/Adlik.git
cd Adlik

构建客户端

  1. 安装以下软件包:

    • python3-setuptools
    • python3-wheel
  2. 构建客户端:

    bazel build //adlik_serving/clients/python:build_pip_package -c opt
  3. 构建 pip 包:

    mkdir /tmp/pip-packages && bazel-bin/adlik_serving/clients/python/build_pip_package /tmp/pip-packages

构建服务

首先,安装以下软件包:

  • automake
  • libtbb2
  • libtool
  • make
  • python3-six

使用 OpenVINO 运行时构建服务

  1. 从 OpenVINO 安装intel-openvino-runtime-ubuntu-包 。

  2. 假设 OpenVINO 的安装路径为/opt/intel/openvino_VERSION,运行如下命令:

    export INTEL_CVSDK_DIR=/opt/intel/openvino_VERSION
    export InferenceEngine_DIR=$INTEL_CVSDK_DIR/deployment_tools/inference_engine/share
    bazel build //adlik_serving \
        --config=openvino \
        -c opt
    

使用 TensorFlow CPU 运行时构建服务

  1. 运行以下命令:

    bazel build //adlik_serving \ 
        --config=tensorflow-cpu \ 
        -c opt

使用 TensorFlow GPU 运行时构建服务

假设使用 CUDA 版本 11.0 构建。

  1. 这里和 这里安装以下软件包 :

    • cuda-cupti-dev-11-0
    • libcublas-dev-11-0
    • libcudnn8=*+cuda11.0
    • libcudnn8-dev=*+cuda11.0
    • libcufft-dev-11-0
    • libcurand-dev-11-0
    • libcusolver-dev-11-0
    • libcusparse-dev-11-0
    • libnvinfer7=7.2.*+cuda11.0
    • libnvinfer-dev=7.2.*+cuda11.0
    • libnvinfer-plugin7=7.2.*+cuda11.0
    • libnvinfer-plugin-dev=7.2.*+cuda11.0
  2. 运行以下命令:

    env TF_CUDA_VERSION=11.0 TF_NEED_TENSORRT=1 \ 
        bazel build //adlik_serving \ 
            --config=tensorflow-gpu \ 
            -c opt \ 
            --incompatible_use_specific_tool_files=false

使用 TensorFlow Lite CPU 运行时构建服务

  1. 运行以下命令:

    bazel build //adlik_serving \ 
        --config=tensorflow-lite-cpu \ 
        -c opt

使用 TensorRT 运行时构建服务

假设使用 CUDA 版本 11.0 构建。

  1. 这里和 这里安装以下软件包 :

    • cuda-cupti-dev-11-0
    • cuda-nvml-dev-11-0
    • cuda-nvrtc-11-0
    • libcublas-dev-11-0
    • libcudnn8=*+cuda11.0
    • libcudnn8-dev=*+cuda11.0
    • libcufft-dev-11-0
    • libcurand-dev-11-0
    • libcusolver-dev-11-0
    • libcusparse-dev-11-0
    • libnvinfer7=7.2.*+cuda11.0
    • libnvinfer-dev=7.2.*+cuda11.0
    • libnvonnxparsers7=7.2.*+cuda11.0
    • libnvonnxparsers-dev=7.2.*+cuda11.0
  2. 运行以下命令:

    env TF_CUDA_VERSION=11.0 \ 
        bazel build //adlik_serving \ 
            --config=TensorRT \ 
            -c opt \ 
            --action_env=LIBRARY_PATH=/usr/local/cuda-11.0/lib64/stubs \ 
            --incompatible_use_specific_tool_files=false

使用 TF-TRT 运行时构建服务

假设使用 CUDA 版本 11.0 构建。

  1. 这里和 这里安装以下软件包 :

    • cuda-cupti-dev-11-0
    • libcublas-dev-11-0
    • libcudnn8=*+cuda11.0
    • libcudnn8-dev=*+cuda11.0
    • libcufft-dev-11-0
    • libcurand-dev-11-0
    • libcusolver-dev-11-0
    • libcusparse-dev-11-0
    • libnvinfer7=7.2.*+cuda11.0
    • libnvinfer-dev=7.2.*+cuda11.0
    • libnvinfer-plugin7=7.2.*+cuda11.0
    • libnvinfer-plugin-dev=7.2.*+cuda11.0
  2. 运行以下命令:

    env TF_CUDA_VERSION=11.0 TF_NEED_TENSORRT=1 \ 
        bazel build //adlik_serving \ 
            --config=tensorflow-tensorrt \ 
            -c opt \ 
            --incompatible_use_specific_tool_files=false

使用 Tvm 运行时构建服务

  1. 安装以下软件包:

    • build-essential
    • cmake
    • tvm
  2. 运行以下命令:

    bazel build //adlik_serving \ 
       --config=tvm \ 
       -c opt
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !