Update timvx_overview.svg #572
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: cmake_x86_vsim | |
on: | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
branches: [ main ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
LD_LIBRARY_PATH: ${{github.workspace}}/tim-vx-install/prebuilt-sdk/x86_64_linux/lib:${{github.workspace}}/tim-vx-install/build/lib:${{github.workspace}}/tim-vx-install/tim-vx.install.dir/lib | |
VIVANTE_SDK_DIR: ${{github.workspace}}/tim-vx-install/prebuilt-sdk/x86_64_linux/ | |
VSI_NN_LOG_LEVEL: 5 | |
VSIMULATOR_CONFIG: VIP9000NANOS_PID0XC5 | |
jobs: | |
tim-vx-build: | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure CMake | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: | | |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTIM_VX_ENABLE_TEST=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/tim-vx.install.dir/ -DTIM_VX_BUILD_EXAMPLES=ON -DTIM_VX_ENABLE_PLATFORM=ON -DTIM_VX_ENABLE_CUSTOM_OP=ON | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
- name: tvx-install | |
run: | | |
cmake --install ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
- name: upload tim-vx-install | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tim-vx-install | |
path: | | |
${{github.workspace}}/prebuilt-sdk | |
${{github.workspace}}/build/lib | |
${{github.workspace}}/tim-vx.install.dir/ | |
${{github.workspace}}/.github/ | |
tim-vx-build-clang: | |
# The CMake configure and build commands are platform agnostic and should work equally | |
# well on Windows or Mac. You can convert this to a matrix build if you need | |
# cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
runs-on: ubuntu-latest | |
env: | |
CC: clang | |
CXX: clang++ | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Configure CMake | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
run: | | |
cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DTIM_VX_ENABLE_TEST=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/tim-vx.install.dir/ | |
- name: Build | |
# Build your program with the given configuration | |
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} | |
# default unit-test | |
tim-vx-unit-test: | |
needs: tim-vx-build | |
runs-on: ubuntu-latest | |
env: | |
LD_LIBRARY_PATH: ${{github.workspace}}/prebuilt-sdk/x86_64_linux/lib:${{github.workspace}}/build/lib:${{github.workspace}}/tim-vx.install.dir/lib | |
VIVANTE_SDK_DIR: ${{github.workspace}}/prebuilt-sdk/x86_64_linux/ | |
steps: | |
- name: download tim-vx build output | |
uses: actions/download-artifact@v3 | |
with: | |
name: tim-vx-install | |
- name: tim-vx.unit-test.x86.vsim | |
run: | | |
cd ${{github.workspace}}/tim-vx.install.dir/bin | |
chmod u+x ./unit_test | |
./unit_test --gtest_also_run_disabled_tests | |
- name: tim-vx.samples | |
run: | | |
cd ${{github.workspace}}/tim-vx.install.dir/bin | |
chmod u+x multi_thread_test | |
chmod u+x lenet_multi_device | |
./multi_thread_test | |
./lenet_multi_device | |
# cl-only test | |
tim-vx-unit-test-cl: | |
needs: tim-vx-build | |
runs-on: ubuntu-latest | |
env: | |
LD_LIBRARY_PATH: ${{github.workspace}}/prebuilt-sdk/x86_64_linux/lib:${{github.workspace}}/build/lib:${{github.workspace}}/tim-vx.install.dir/lib | |
VIVANTE_SDK_DIR: ${{github.workspace}}/prebuilt-sdk/x86_64_linux/ | |
VIV_VX_DISABLE_TP_NN_EVIS: 1 | |
steps: | |
- name: download tim-vx build output | |
uses: actions/download-artifact@v3 | |
with: | |
name: tim-vx-install | |
- name: tim-vx.unit-test.x86.vsim | |
run: | | |
cd ${{github.workspace}}/tim-vx.install.dir/bin | |
chmod u+x ./unit_test | |
./unit_test | |
vx-delegate-build: | |
runs-on: ubuntu-latest | |
needs: tim-vx-build | |
steps: | |
- name: download tim-vx build output | |
uses: actions/download-artifact@v3 | |
with: | |
name: tim-vx-install | |
- name: apply-patch-build | |
run: | | |
git config --global user.email "xiang.zhang@verisilicon.com" | |
git config --global user.name "xiang.zhang" | |
git clone https://github.com/tensorflow/tensorflow.git ${{github.workspace}}/3rd-party/tensorflow && cd ${{github.workspace}}/3rd-party/tensorflow/ && git checkout v2.10.0 | |
git clone https://github.com/VeriSilicon/tflite-vx-delegate.git ${{github.workspace}}/vx-delegate | |
cmake -B ${{github.workspace}}/vx-delegate/build -S ${{github.workspace}}/vx-delegate -DFETCHCONTENT_SOURCE_DIR_TENSORFLOW=${{github.workspace}}/3rd-party/tensorflow -DTIM_VX_INSTALL=${{github.workspace}}/tim-vx.install.dir/ -DTFLITE_ENABLE_NNAPI=OFF -DTFLITE_ENABLE_XNNPACK=OFF | |
cmake --build ${{github.workspace}}/vx-delegate/build --config ${{env.BUILD_TYPE}} | |
cd ${{github.workspace}}/vx-delegate/build | |
make vx_delegate benchmark_model | |
- name: upload vx-delegate | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vx-delegate-bin | |
path: | | |
${{github.workspace}}/vx-delegate/build/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate/build/libvx_delegate.so | |
# AI-Benchmark 5.0.1 model zoo | |
mobilenet_v2_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download binary | |
uses: actions/download-artifact@v3 | |
- name: download mobilenet_v2_quant.tflite | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/mobilenet_v2_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/mobilenet_v2_quant.tflite | |
mobilenet_v2_b8_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download binary | |
uses: actions/download-artifact@v3 | |
- name: download mobilenet_v2_b8_quant.tflite | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/mobilenet_v2_b8_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/mobilenet_v2_b8_quant.tflite | |
resnet_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download resnet_quant.tflite | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/resnet_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/resnet_quant.tflite | |
inception_v3_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/inception_v3_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/inception_v3_quant.tflite | |
mobilenet_v3_b4_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/mobilenet_v3_b4_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/mobilenet_v3_b4_quant.tflite | |
mobilenet_v3_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/mobilenet_v3_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/mobilenet_v3_quant.tflite | |
mv3_depth_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/mv3_depth_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/mv3_depth_quant.tflite | |
yolo_v4_tiny_quant: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/yolo_v4_tiny_quant.tflite | |
- name: benchmark_model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/yolo_v4_tiny_quant.tflite | |
# Disable huge compilation cost | |
# deeplab_v3_plus_quant: | |
# runs-on: ubuntu-latest | |
# needs: [vx-delegate-build, tim-vx-unit-test] | |
# steps: | |
# - name: download test binary | |
# uses: actions/download-artifact@v3 | |
# - name: download model | |
# run: | | |
# curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/deeplab_v3_plus_quant.tflite | |
# - name: benchmark_model | |
# run: | | |
# chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
# ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/deeplab_v3_plus_quant.tflite | |
# Tensorflow Hub | |
# tfhub-movenet-multipose: | |
# runs-on: ubuntu-latest | |
# needs: vx-delegate-build | |
# steps: | |
# - name: download test binary | |
# uses: actions/download-artifact@v3 | |
# - name: download model | |
# run: | | |
# wget https://storage.googleapis.com/tfhub-lite-models/google/lite-model/movenet/multipose/lightning/tflite/float16/1.tflite | |
# mv 1.tflite tfhub.movenet.multipose.tflite | |
# - name: benchmark-model | |
# run: | | |
# chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
# ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/tfhub.movenet.multipose.tflite | |
tfhub-efficientdet-lite0: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
wget https://storage.googleapis.com/tfhub-lite-models/tensorflow/lite-model/efficientdet/lite0/detection/metadata/1.tflite | |
- name: benchmark-model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/1.tflite | |
tfhub-efficientdet-lite1: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
wget https://storage.googleapis.com/tfhub-lite-models/tensorflow/lite-model/efficientdet/lite1/detection/metadata/1.tflite | |
- name: benchmark-model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/1.tflite | |
tfhub-efficientdet-lite2: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
wget https://storage.googleapis.com/tfhub-lite-models/tensorflow/lite-model/efficientdet/lite2/detection/metadata/1.tflite | |
- name: benchmark-model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/1.tflite | |
tfhub-efficientdet-lite3: | |
runs-on: ubuntu-latest | |
needs: [vx-delegate-build, tim-vx-unit-test] | |
steps: | |
- name: download test binary | |
uses: actions/download-artifact@v3 | |
- name: download model | |
run: | | |
wget https://storage.googleapis.com/tfhub-lite-models/tensorflow/lite-model/efficientdet/lite2/detection/metadata/1.tflite | |
- name: benchmark-model | |
run: | | |
chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/1.tflite | |
# acuity-yolov3-608-quant: | |
# runs-on: ubuntu-latest | |
# needs: [vx-delegate-build, tim-vx-unit-test] | |
# steps: | |
# - name: download test binary | |
# uses: actions/download-artifact@v3 | |
# - name: download model | |
# run: | | |
# curl -LJO https://github.com/sunshinemyson/TIM-VX/releases/download/v1.1.30.2/yolov3_608relu_quant.acuity.tflite | |
# - name: benchmark-model | |
# run: | | |
# chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
# ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/yolov3_608relu_quant.acuity.tflite | |
# Graph compilation time is huge over 20mins | |
# tfhub-efficientdet-lite4: | |
# runs-on: ubuntu-latest | |
# needs: vx-delegate-build | |
# steps: | |
# - name: download test binary | |
# uses: actions/download-artifact@v3 | |
# - name: download model | |
# run: | | |
# wget https://storage.googleapis.com/tfhub-lite-models/tensorflow/lite-model/efficientdet/lite4/detection/metadata/1.tflite | |
# - name: benchmark-model | |
# run: | | |
# chmod u+x ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model | |
# ${{github.workspace}}/vx-delegate-bin/_deps/tensorflow-build/tools/benchmark/benchmark_model --num_runs=1 --external_delegate_path=${{github.workspace}}/vx-delegate-bin/libvx_delegate.so --graph=${{github.workspace}}/1.tflite |