软件简介

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

Adlik示意图

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

使用 Adlik 在云/边缘/设备中部署模型

  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<OS_VERSION>-<VERSION>包 。

  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
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表了资讯
2021/12/03 13:03

Adlik Deer(V0.4.0)版本发布,模型推理加速就靠它啦

今天,Adlik Deer 版本 (V0.4.0) 发布啦! 本次的新版本中,可以看到 Adlik 最近一段时间的许多技术探索,对优化器来说有集成蒸馏、Zen-NAS 优化等;推理引擎也更易用、支持更多硬件和推理运行时。针对 Bert 的模型推理优化,Adlik 使用 Ansor 来搜索全局最优的张量调度方案,为动态输入的推理提供了专用调度器,在 x86 CPU 上能达到比 OpenVINO 更高的吞吐量。 欢迎大家体验试用新版本哦,用 Adlik 实现模型推理性能的飞跃。 ...

1
4
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于程序人生专区
2020/11/25 18:21

Adlik 0.2.0 Bear版本现已可用!

LF AI & Data基金会孵化阶段项目Adlik已经发布了名为Bear的0.2.0版本。我们很高兴看到这个在过去几个月里一直在努力工作的社区发布了新版本!Adlik是用于加速深度学习推理的工具包,它为将经过训练的模型投入生产提供了全面的支持,并为不同类型的推理框架简化了学习曲线。在Adlik中,模型优化器(Model Optimizer)和模型编译器(Model Compiler)提供针对特定硬件环境的优化和编译的模型,而服务引擎(Serving Engine)提供针...

0
0
发表于程序人生专区
2020/06/17 18:00

Adlik发布0.1.0版本|特别感谢中兴通讯、中国移动和中国联通的贡献者

LF AI基金会孵化阶段的项目Adlik已经发布了0.1.0版本。我们很高兴看到这个在过去几个月一直在努力工作的社区发布了一个版本!Adlik是一个用于加速深度学习推理的工具包,它为将经过训练的模型投入生产提供了全面的支持,并为不同类型的推理框架简化了学习曲线。在Adlik中,模型优化器(Model Optimizer)和模型编译器(Model Compiler)提供针对特定硬件环境的优化和编译模型,服务引擎(Serving Engine)提供针对云、边缘和设备...

0
0
发表于程序人生专区
2019/10/22 12:43

LF AI欢迎​由中兴通讯贡献的Adlik作为最新的孵化项目

Adlik由中兴通讯贡献,允许深度学习模型部署到不同的平台上,具有高性能和灵活性 旧金山 - 2019年10月21日 - LF AI基金会,一个在人工智能(AI)、机器学习(ML)和深度学习(DL)领域建立一个生态系统以支持开源创新的组织,今天欢迎Adlik作为孵化项目加入LF AI。Adlik来自LF AI的主要成员中兴通讯,中兴通讯承诺在一个中立的环境下,以开放的治理模式来支持Adlik的贡献和采用。 “我们非常高兴地欢迎Adlik加入LF AI。今天的声...

0
0
2020/06/24 09:00

突破深度学习模型产业化瓶颈,深度学习推理加速工具链项目Adlik发布新版本“羚羊”

6月15日,深度学习推理加速工具链项目Adlik发布了v0.1.0版本,代号Antelope 羚羊。这是中兴通讯将该项目在Linux基金会旗下AI基金会(LFAI)开源以来发布的第一个正式的版本,将有力推动深度学习模型在云边端等多场景下的产业化应用。第二个版本代号Bear熊,也在紧锣密鼓的筹备中。 Adlik是人工智能领域深度学习模型的推理应用加速工具链,致力于为开发者提供端到端的深度学习模型优化部署方案,提升AI深度学习模型商业应用的效率...

0
0
2020/04/30 09:27

AI Open Day - GDG × LF AI Foundation

提到人工智能框架,开发者们脑子里立马会闪现出TensorFlow、Keras、PyTorch、MXNet、Caffe2、FastAI、MindSpore、飞桨(PaddlePaddle)这些名字。人工智能框架之所以如此重要,是因为无论是学术研究还是人工智能的真实落地应用之中,都会涉及到无比繁多和复杂的步骤与工具。在过去从环境安装与部署,到测试与迭代,再到性能调优等都需要耗费大量的时间与精力。 为解决这些棘手问题,人工智能框架为此孕育而生,作为AI开发中的基础...

0
0
2020/04/29 12:13

AI Open Day - GDG × Linux Foundation AI

提到人工智能框架,开发者们脑子里立马会闪现出TensorFlow、Keras、PyTorch、MXNet、Caffe2、FastAI、MindSpore这些名字。人工智能框架之所以如此重要,是因为无论是学术研究还是人工智能的真实落地应用之中,都会涉及到无比繁多和复杂的步骤与工具。在过去从环境安装与部署,到测试与迭代,再到性能调优等都需要耗费大量的时间与精力。 为解决这些棘手问题,人工智能框架为此孕育而生,作为AI开发中的基础平台和通用工具集合,...

0
0
发表于AI & 大数据专区
2020/04/30 11:25

0502 直播|AI Open Day - GDG × LF AI Foundation

提到人工智能框架,开发者们脑子里立马会闪现出TensorFlow、Keras、PyTorch、MXNet、Caffe2、FastAI、MindSpore、飞桨(PaddlePaddle)这些名字。人工智能框架之所以如此重要,是因为无论是学术研究还是人工智能的真实落地应用之中,都会涉及到无比繁多和复杂的步骤与工具。在过去从环境安装与部署,到测试与迭代,再到性能调优等都需要耗费大量的时间与精力。 为解决这些棘手问题, 人工智能框架 为此孕育而生,作为AI开发中的基...

0
0
发表于AI & 大数据专区
2020/05/02 11:00

0502 直播|AI Open Day - GDG × LF AI Foundation

提到人工智能框架,开发者们脑子里立马会闪现出TensorFlow、Keras、PyTorch、MXNet、Caffe2、FastAI、MindSpore、飞桨(PaddlePaddle)这些名字。人工智能框架之所以如此重要,是因为无论是学术研究还是人工智能的真实落地应用之中,都会涉及到无比繁多和复杂的步骤与工具。在过去从环境安装与部署,到测试与迭代,再到性能调优等都需要耗费大量的时间与精力。 为解决这些棘手问题, 人工智能框架 为此孕育而生,作为AI开发中的基...

0
0
发表于AI & 大数据专区
2019/12/24 10:43

LF AI基金会欢迎ZILLIZ成为高级成员

本月 17 号 LF AI 基金会正式对外宣布 ZILLIZ 成为高级成员。 LF AI 基金会是一个致力于在人工智能(artificial intelligence,AI)、机器学习(machine learning,ML)和深度学习(deep learning,DL)领域建立一个生态系统以支持开源创新的组织。 LF AI 目前托管的项目有: Acumos、Angel、Elastic Deep Learning、Horovod、Pyro、Adlik、ONNX 等。 “作为利用异构计算构建数据科学软件的先行者,ZILLIZ 能帮助企业将非结构化...

0
0
2020/06/25 13:07

AI OPEN DAY:如何通过采用开源技术来优化您的产品和业务收益

人工智能框架作为AI开发中的基础和通用工具集合,无论是在学术研究,或者是社会生产活动中的繁琐工作,都能解决很多实际问题。关于这些,我们在五月,第一次AI Open Day系列活动的时候就已经邀请了多个LF AI企业会员来进行这些问题的探讨。接下来,我们将继续深入探讨这些人工智能框架在学术研究和社会生产活动中的进展和最新资讯。 7月4日,由LF AI 、GDG、开源科技OSTech联合举办的第二次AI Open Day,一起来听听来自LF AI基金...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部