mmdeploy/docs/zh_cn/01-how-to-build/build_from_script.md
q.yao 7cb4b9b18a
[Enhancement] Support tvm (#1216)
* finish framework

* add autotvm and auto-scheduler tuner

* add python deploy api

* add SDK net(WIP

* add sdk support

* support det, support vm

* fix vm sdk

* support two stage detector

* add instance seg support

* add docstring

* update docs and ut

* add quantize

* update doc

* update docs

* synchronize stream

* support dlpack

* remove submodule

* fix stride

* add alignment

* support dlpack

* remove submodule

* replace exclusive_scan

* add backend check

* add build script

* fix comment

* add ci

* fix ci

* ci fix2

* update build script

* update ci

* add pytest

* update sed command

* update sed again

* add xgboost

* remove tvm ut

* update ansor runner

* add stream sync

* fix topk

* sync default stream

* fix tvm net

* fix window
2022-12-12 21:19:40 +08:00

2.2 KiB
Raw Permalink Blame History

一键式脚本安装

通过用户调研,我们得知多数使用者在了解 mmdeploy 前,已经熟知 python 和 torch 用法。因此我们提供脚本简化 mmdeploy 安装。

假设您已经准备好

  • python3 -m pip必须conda 或 pyenv 皆可)
  • nvcc取决于推理后端
  • torch非必须可延后安装

运行这个脚本来安装 mmdeploy + ncnn backendnproc 可以不指定。

$ cd /path/to/mmdeploy
$ python3 tools/scripts/build_ubuntu_x64_ncnn.py
..

期间可能需要 sudo 密码,脚本会尽最大努力完成 mmdeploy SDK 和 demo

  • 检测系统版本、make 使用的 job 个数、是否 root 用户,也会自动修复 pip 问题
  • 寻找必须的基础工具,如 g++-7、cmake、wget 等
  • 编译必须的依赖,如 pyncnn、 protobuf

脚本也会尽量避免影响 host 环境:

  • 源码编译的依赖,都放在与 mmdeploy 同级的 mmdeploy-dep 目录中
  • 不会主动修改 PATH、LD_LIBRARY_PATH、PYTHONPATH 等变量
  • 会打印需要修改的环境变量,需要注意最终的输出信息

脚本最终会执行 python3 tools/check_env.py,安装成功应显示对应 backend 的版本号和 ops_is_available: True,例如:

$ python3 tools/check_env.py
..
2022-09-13 14:49:13,767 - mmdeploy - INFO - **********Backend information**********
2022-09-13 14:49:14,116 - mmdeploy - INFO - onnxruntime: 1.8.0	ops_is_avaliable : True
2022-09-13 14:49:14,131 - mmdeploy - INFO - tensorrt: 8.4.1.5	ops_is_avaliable : True
2022-09-13 14:49:14,139 - mmdeploy - INFO - ncnn: 1.0.20220901	ops_is_avaliable : True
2022-09-13 14:49:14,150 - mmdeploy - INFO - pplnn_is_avaliable: True
..

这是已验证的安装脚本。如果想让 mmdeploy 同时支持多种 backend每个脚本执行一次即可

script OS version
build_ubuntu_x64_ncnn.py 18.04/20.04
build_ubuntu_x64_ort.py 18.04/20.04
build_ubuntu_x64_pplnn.py 18.04/20.04
build_ubuntu_x64_torchscript.py 18.04/20.04
build_ubuntu_x64_tvm.py 18.04/20.04
build_jetson_orin_python38.sh JetPack5.0 L4T 34.1