|
79 | 79 | python -m pip install mmcv-lite
|
80 | 80 | python tools/scripts/build_ubuntu_x64_ncnn.py 8
|
81 | 81 | python -c 'import mmdeploy.apis.ncnn as ncnn_api; assert ncnn_api.is_available(with_custom_ops=True)'
|
| 82 | +
|
| 83 | + test_ncnn_ptq: |
| 84 | + runs-on: [self-hosted, linux-3090] |
| 85 | + container: |
| 86 | + image: openmmlab/mmdeploy:ubuntu20.04-cuda11.3 |
| 87 | + options: "--gpus=all --ipc=host" |
| 88 | + steps: |
| 89 | + - name: Checkout repository |
| 90 | + uses: actions/checkout@v3 |
| 91 | + with: |
| 92 | + submodules: recursive |
| 93 | + - name: Install dependencies |
| 94 | + run: | |
| 95 | + apt-get update |
| 96 | + apt-get install ninja-build -y |
| 97 | + python3 -V |
| 98 | + python3 -m pip install openmim |
| 99 | + python3 -m pip install -r requirements.txt |
| 100 | + python3 -m mim install $(cat requirements/codebases.txt | grep mmpretrain) |
| 101 | + python3 -m pip install numpy==1.22.0 |
| 102 | + python3 -m pip list |
| 103 | + - name: Install mmdeploy |
| 104 | + run: | |
| 105 | + rm -rf .eggs && python3 -m pip install -e . |
| 106 | + python3 tools/check_env.py |
| 107 | + - name: Install ppq |
| 108 | + run: | |
| 109 | + git clone -b v0.6.6 --depth 1 https://github.com/openppl-public/ppq |
| 110 | + cd ppq |
| 111 | + python3 -m pip install -r requirements.txt |
| 112 | + python3 setup.py install |
| 113 | + - name: Test ncnn + ppq pipeline |
| 114 | + run: | |
| 115 | + export PYTHONPATH=${PWD}/ppq:${PYTHONPATH} |
| 116 | + export LD_LIBRARY_PATH="/root/workspace/mmdeploy/build/lib:${LD_LIBRARY_PATH}" |
| 117 | + export LD_LIBRARY_PATH="/root/workspace/mmdeploy/mmdeploy/lib:${LD_LIBRARY_PATH}" |
| 118 | + export work_dir=./work_dir |
| 119 | + mkdir -p $work_dir |
| 120 | + export model_cfg=$work_dir/resnet18_8xb32_in1k.py |
| 121 | + export deploy_cfg=configs/mmpretrain/classification_ncnn-int8_static.py |
| 122 | + export checkpoint=$work_dir/resnet18_8xb32_in1k_20210831-fbbb1da6.pth |
| 123 | + export input_img=tests/data/tiger.jpeg |
| 124 | + python3 -m mim download mmpretrain --config resnet18_8xb32_in1k --dest $work_dir |
| 125 | + python3 tools/torch2onnx.py $deploy_cfg $model_cfg $checkpoint $input_img --work-dir $work_dir |
| 126 | + wget https://media.githubusercontent.com/media/tpoisonooo/mmdeploy-onnx2ncnn-testdata/main/dataset.tar |
| 127 | + tar xvf dataset.tar |
| 128 | + python3 tools/onnx2ncnn_quant_table.py \ |
| 129 | + --onnx $work_dir/end2end.onnx \ |
| 130 | + --deploy-cfg $deploy_cfg \ |
| 131 | + --model-cfg $model_cfg \ |
| 132 | + --out-onnx $work_dir/quant.onnx \ |
| 133 | + --out-table $work_dir/ncnn.table \ |
| 134 | + --image-dir ./dataset |
| 135 | + ls -sha $work_dir/quant.onnx |
| 136 | + cat $work_dir/ncnn.table |
0 commit comments