mirror of
https://github.com/open-mmlab/mmdeploy.git
synced 2025-01-14 08:09:43 +08:00
* 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
54 lines
2.4 KiB
Markdown
54 lines
2.4 KiB
Markdown
# Build from Script
|
|
|
|
Through user investigation, we know that most users are already familiar with python and torch before using mmdeploy. Therefore we provide scripts to simplify mmdeploy installation.
|
|
|
|
Assuming you already have
|
|
|
|
- python3 -m pip (`conda` or `pyenv`)
|
|
- nvcc (depends on inference backend)
|
|
- torch (not compulsory)
|
|
|
|
run this script to install mmdeploy + ncnn backend, `nproc` is not compulsory.
|
|
|
|
```bash
|
|
$ cd /path/to/mmdeploy
|
|
$ python3 tools/scripts/build_ubuntu_x64_ncnn.py
|
|
..
|
|
```
|
|
|
|
A sudo password may be required during this time, and the script will try its best to build and install mmdeploy SDK and demo:
|
|
|
|
- Detect host OS version, `make` job number, whether use `root` and try to fix `python3 -m pip`
|
|
- Find the necessary basic tools, such as g++-7, cmake, wget, etc.
|
|
- Compile necessary dependencies, such as pyncnn, protobuf
|
|
|
|
The script will also try to avoid affecting host environment:
|
|
|
|
- The dependencies of source code compilation are placed in the `mmdeploy-dep` directory at the same level as mmdeploy
|
|
- The script would not modify variables such as PATH, LD_LIBRARY_PATH, PYTHONPATH, etc.
|
|
- The environment variables that need to be modified will be printed, **please pay attention to the final output**
|
|
|
|
The script will eventually execute `python3 tools/check_env.py`, the successful installation should display the version number of the corresponding backend and `ops_is_available: True`, for example:
|
|
|
|
```bash
|
|
$ 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
|
|
..
|
|
```
|
|
|
|
Here is the verified installation script. If you want mmdeploy to support multiple backends at the same time, you can execute each script once:
|
|
|
|
| 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 |
|