feat: Update NNSDK path and library linking in CMake configurations and Android build script, and add a new script to build all Android examples.
This commit is contained in:
parent
79a2bd27f6
commit
21105e3db7
35 changed files with 1438 additions and 1222 deletions
29
README.md
29
README.md
|
|
@ -68,6 +68,35 @@ pre-build models:
|
||||||
- means currently supported.
|
- means currently supported.
|
||||||
|
|
||||||
# Examples Compile
|
# Examples Compile
|
||||||
|
## AMLNN SDK Setup
|
||||||
|
|
||||||
|
The C++ demos depend on the **AMLNN nnsdk** runtime library. The build system resolves it using the following priority order:
|
||||||
|
|
||||||
|
**Priority 1 – Environment variable (recommended)**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
|
**Priority 2 – CMake auto-find (`FindAMLNN.cmake`)**
|
||||||
|
|
||||||
|
Handled automatically via `cmake/FindAMLNN.cmake` in the project root — useful in IDE and CI environments.
|
||||||
|
|
||||||
|
**Priority 3 – Sibling directory fallback**
|
||||||
|
|
||||||
|
If `AMLNN_HOME` is not set, the script automatically looks for `amlnn-toolkit` as a sibling directory:
|
||||||
|
```
|
||||||
|
modelzoo/
|
||||||
|
├── amlnn-model-playground/ ← this repo
|
||||||
|
└── amlnn-toolkit/ ← SDK placed here automatically found
|
||||||
|
```
|
||||||
|
|
||||||
|
Clone it with:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Each **example** directory contains a **build-android.sh** and build-linux.sh **script**. For compilation steps, refer to **Chapter 4** of the **README.md** file in the corresponding example directory.
|
Each **example** directory contains a **build-android.sh** and build-linux.sh **script**. For compilation steps, refer to **Chapter 4** of the **README.md** file in the corresponding example directory.
|
||||||
|
|
||||||
|
|
|
||||||
64
cmake/FindAMLNN.cmake
Normal file
64
cmake/FindAMLNN.cmake
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
# FindAMLNN.cmake
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Locates the AMLNN nnsdk headers and libraries.
|
||||||
|
#
|
||||||
|
# Inputs (set before calling find_package):
|
||||||
|
# AMLNN_HOME – root of the amlnn-toolkit (contains nn_runtime/)
|
||||||
|
# May also be supplied as the environment variable AMLNN_HOME.
|
||||||
|
#
|
||||||
|
# Outputs:
|
||||||
|
# AMLNN_INCLUDE_DIR – path to nnsdk include dir
|
||||||
|
# AMLNN_LIBRARY_DIR – path to the ABI-specific library dir (use link_directories)
|
||||||
|
# AMLNN_LIBRARY – "nnsdk" (library name, no prefix/suffix)
|
||||||
|
# AMLNN_FOUND
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Resolve AMLNN_HOME: CMake variable → env var → relative sibling fallbacks
|
||||||
|
if(NOT AMLNN_HOME)
|
||||||
|
if(DEFINED ENV{AMLNN_HOME} AND NOT "$ENV{AMLNN_HOME}" STREQUAL "")
|
||||||
|
set(AMLNN_HOME "$ENV{AMLNN_HOME}")
|
||||||
|
elseif(EXISTS "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime")
|
||||||
|
set(AMLNN_HOME "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT AMLNN_HOME)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"AMLNN_HOME not found.\n"
|
||||||
|
"Please set the AMLNN_HOME environment variable (or CMake variable) "
|
||||||
|
"to the root of the amlnn-toolkit directory, e.g.:\n"
|
||||||
|
" export AMLNN_HOME=/path/to/amlnn-toolkit\n"
|
||||||
|
" cmake ... -DAMLNN_HOME=/path/to/amlnn-toolkit")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
get_filename_component(AMLNN_HOME "${AMLNN_HOME}" ABSOLUTE)
|
||||||
|
|
||||||
|
set(AMLNN_NNSDK_ROOT "${AMLNN_HOME}/nn_runtime/nnsdk")
|
||||||
|
set(AMLNN_INCLUDE_DIR "${AMLNN_NNSDK_ROOT}/include")
|
||||||
|
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
|
if(ANDROID_ABI STREQUAL "arm64-v8a")
|
||||||
|
set(AMLNN_LIBRARY_DIR "${AMLNN_NNSDK_ROOT}/android/arm64-v8a")
|
||||||
|
else()
|
||||||
|
set(AMLNN_LIBRARY_DIR "${AMLNN_NNSDK_ROOT}/android/armeabi-v7a")
|
||||||
|
endif()
|
||||||
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
|
set(AMLNN_LIBRARY_DIR "${AMLNN_NNSDK_ROOT}/linux/yocto/aarch64-poky-linux")
|
||||||
|
else()
|
||||||
|
set(AMLNN_LIBRARY_DIR "${AMLNN_NNSDK_ROOT}/linux/yocto/aarch64-poky-linux")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(AMLNN_LIBRARY "nnsdk")
|
||||||
|
|
||||||
|
# Validate paths
|
||||||
|
if(NOT EXISTS "${AMLNN_INCLUDE_DIR}")
|
||||||
|
message(FATAL_ERROR "AMLNN include dir not found: ${AMLNN_INCLUDE_DIR}\n(AMLNN_HOME=${AMLNN_HOME})")
|
||||||
|
endif()
|
||||||
|
if(NOT EXISTS "${AMLNN_LIBRARY_DIR}")
|
||||||
|
message(FATAL_ERROR "AMLNN library dir not found: ${AMLNN_LIBRARY_DIR}\n(AMLNN_HOME=${AMLNN_HOME})")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(AMLNN_FOUND TRUE)
|
||||||
|
message(STATUS "Found AMLNN: ${AMLNN_HOME}")
|
||||||
|
message(STATUS " AMLNN_INCLUDE_DIR: ${AMLNN_INCLUDE_DIR}")
|
||||||
|
message(STATUS " AMLNN_LIBRARY_DIR: ${AMLNN_LIBRARY_DIR}")
|
||||||
|
|
@ -41,20 +41,43 @@ while getopts 'a:h' opt; do
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -z "${ANDROID_NDK_PATH}" ]; then
|
SCRIPT_DIR=$(cd "$(dirname $0)" && pwd)
|
||||||
if [ -n "${ANDROID_NDK}" ]; then
|
|
||||||
ANDROID_NDK_PATH=${ANDROID_NDK}
|
# Priority 1: Environment variable (recommended)
|
||||||
elif [ -n "${ANDROID_NDK_HOME}" ]; then
|
if [ -n "$AMLNN_HOME" ]; then
|
||||||
ANDROID_NDK_PATH=${ANDROID_NDK_HOME}
|
if [ ! -d "$AMLNN_HOME/nn_runtime" ]; then
|
||||||
else
|
echo "Error: AMLNN_HOME is set to '$AMLNN_HOME' but nn_runtime was not found there."
|
||||||
echo "Error: ANDROID_NDK_PATH is not set."
|
echo "Please check your AMLNN_HOME path."
|
||||||
echo "Please set ANDROID_NDK_PATH to your Android NDK directory."
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
RUNTIME_PATH="$AMLNN_HOME/nn_runtime"
|
||||||
|
echo "Priority 1: Using AMLNN_HOME from environment: $AMLNN_HOME"
|
||||||
|
# Priority 3: Fallback to sibling amlnn-toolkit (compatibility)
|
||||||
|
elif [ -d "${SCRIPT_DIR}/../../amlnn-toolkit/nn_runtime" ]; then
|
||||||
|
export AMLNN_HOME="$(cd "${SCRIPT_DIR}/../../amlnn-toolkit" && pwd)"
|
||||||
|
RUNTIME_PATH="$AMLNN_HOME/nn_runtime"
|
||||||
|
echo "Priority 3: Using sibling amlnn-toolkit as fallback: $AMLNN_HOME"
|
||||||
|
elif [ -d "${SCRIPT_DIR}/../../amlnn-toolkit-a/nn_runtime" ]; then
|
||||||
|
export AMLNN_HOME="$(cd "${SCRIPT_DIR}/../../amlnn-toolkit-a" && pwd)"
|
||||||
|
RUNTIME_PATH="$AMLNN_HOME/nn_runtime"
|
||||||
|
echo "Priority 3: Using sibling amlnn-toolkit-a as fallback: $AMLNN_HOME"
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "Error: AMLNN SDK not found."
|
||||||
|
echo ""
|
||||||
|
echo "Please do one of the following:"
|
||||||
|
echo ""
|
||||||
|
echo " Option A (recommended) – set AMLNN_HOME:"
|
||||||
|
echo " export AMLNN_HOME=/path/to/amlnn-toolkit"
|
||||||
|
echo " ./build-android-all.sh"
|
||||||
|
echo ""
|
||||||
|
echo " Option B – clone amlnn-toolkit as a sibling directory:"
|
||||||
|
echo " git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../../../amlnn-toolkit"
|
||||||
|
echo " ./build-android-all.sh"
|
||||||
|
echo ""
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
SCRIPT_DIR=$(cd "$(dirname $0)" && pwd)
|
|
||||||
|
|
||||||
echo "============================================"
|
echo "============================================"
|
||||||
echo "Building all Android examples"
|
echo "Building all Android examples"
|
||||||
echo "NDK_PATH: ${ANDROID_NDK_PATH}"
|
echo "NDK_PATH: ${ANDROID_NDK_PATH}"
|
||||||
|
|
@ -93,6 +116,10 @@ for EXAMPLE in "${EXAMPLES[@]}"; do
|
||||||
echo "Building: ${EXAMPLE}"
|
echo "Building: ${EXAMPLE}"
|
||||||
echo "--------------------------------------------"
|
echo "--------------------------------------------"
|
||||||
|
|
||||||
|
# Clean previous build to avoid stale CMake cache
|
||||||
|
echo "Cleaning: ${EXAMPLE_DIR}/build/android"
|
||||||
|
rm -rf "${EXAMPLE_DIR}/build/android"
|
||||||
|
|
||||||
if bash "${BUILD_SCRIPT}" -a "${TARGET_ABI}"; then
|
if bash "${BUILD_SCRIPT}" -a "${TARGET_ABI}"; then
|
||||||
SUCCEEDED+=("${EXAMPLE}")
|
SUCCEEDED+=("${EXAMPLE}")
|
||||||
echo "[SUCCESS] ${EXAMPLE}"
|
echo "[SUCCESS] ${EXAMPLE}"
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,20 @@ TO DO
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,13 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(clip_demo)
|
project(clip_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set 3rdparty path
|
# Set 3rdparty path
|
||||||
|
|
@ -22,15 +19,8 @@ include_directories(${3RDPARTY_DIR}/stb_image)
|
||||||
include_directories(${3RDPARTY_DIR}/json)
|
include_directories(${3RDPARTY_DIR}/json)
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}
|
add_executable(${PROJECT_NAME}
|
||||||
|
|
@ -41,7 +31,7 @@ add_executable(${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
dl
|
dl
|
||||||
m
|
m
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -16,6 +16,20 @@ for deployment on Amlogic NPU platforms.
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(mobilenet_v2_demo)
|
project(mobilenet_v2_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -40,5 +30,5 @@ add_executable(mobilenet_v2_demo
|
||||||
|
|
||||||
target_link_libraries(mobilenet_v2_demo
|
target_link_libraries(mobilenet_v2_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
# PaddleOCR Detection
|
||||||
|
|
||||||
|
## 4. Demo Run
|
||||||
|
|
||||||
|
### CPP
|
||||||
|
|
||||||
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prerequisites:**
|
||||||
|
- Android NDK r25c
|
||||||
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
||||||
|
**Build:**
|
||||||
|
```bash
|
||||||
|
# Build for arm64-v8a
|
||||||
|
cd examples/ppocr-det/cpp
|
||||||
|
./build-android.sh -a arm64-v8a
|
||||||
|
```
|
||||||
|
|
||||||
|
The executable will be generated in `build/android/`.
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yolo_world_demo)
|
project(yolo_world_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set 3rdparty path
|
# Set 3rdparty path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -44,5 +34,5 @@ add_executable(paddleocr_det_demo
|
||||||
|
|
||||||
target_link_libraries(paddleocr_det_demo
|
target_link_libraries(paddleocr_det_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,20 @@ example
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(resnet_demo)
|
project(resnet_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -33,7 +23,6 @@ message(STATUS "OpenCV_DIR: ${OpenCV_DIR}")
|
||||||
find_package(OpenCV REQUIRED)
|
find_package(OpenCV REQUIRED)
|
||||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
||||||
add_executable(resnet_demo
|
add_executable(resnet_demo
|
||||||
main.cpp
|
main.cpp
|
||||||
postprocess.cpp
|
postprocess.cpp
|
||||||
|
|
@ -42,5 +31,5 @@ add_executable(resnet_demo
|
||||||
|
|
||||||
target_link_libraries(resnet_demo
|
target_link_libraries(resnet_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
@ -58,6 +58,20 @@ example
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(retinaface_demo)
|
project(retinaface_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -33,7 +23,6 @@ message(STATUS "OpenCV_DIR: ${OpenCV_DIR}")
|
||||||
find_package(OpenCV REQUIRED)
|
find_package(OpenCV REQUIRED)
|
||||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
||||||
add_executable(retinaface_demo
|
add_executable(retinaface_demo
|
||||||
main.cpp
|
main.cpp
|
||||||
postprocess.cpp
|
postprocess.cpp
|
||||||
|
|
@ -42,5 +31,5 @@ add_executable(retinaface_demo
|
||||||
|
|
||||||
target_link_libraries(retinaface_demo
|
target_link_libraries(retinaface_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
# Whisper
|
||||||
|
|
||||||
|
## 4. Demo Run
|
||||||
|
|
||||||
|
### CPP
|
||||||
|
|
||||||
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prerequisites:**
|
||||||
|
- Android NDK r25c
|
||||||
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
||||||
|
**Build:**
|
||||||
|
```bash
|
||||||
|
# Build for arm64-v8a
|
||||||
|
cd examples/whisper/cpp
|
||||||
|
./build-android.sh -a arm64-v8a
|
||||||
|
```
|
||||||
|
|
||||||
|
The executable will be generated in `build/android/`.
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(whisper_demo)
|
project(whisper_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set 3rdparty path
|
# Set 3rdparty path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME}
|
add_executable(${PROJECT_NAME}
|
||||||
|
|
@ -38,7 +28,7 @@ add_executable(${PROJECT_NAME}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
dl
|
dl
|
||||||
m
|
m
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
# YOLOE
|
||||||
|
|
||||||
|
## 4. Demo Run
|
||||||
|
|
||||||
|
### CPP
|
||||||
|
|
||||||
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
|
**Prerequisites:**
|
||||||
|
- Android NDK r25c
|
||||||
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
||||||
|
**Build:**
|
||||||
|
```bash
|
||||||
|
# Build for arm64-v8a
|
||||||
|
cd examples/yoloe/cpp
|
||||||
|
./build-android.sh -a arm64-v8a
|
||||||
|
```
|
||||||
|
|
||||||
|
The executable will be generated in `build/android/`.
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yoloe_demo)
|
project(yoloe_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -40,5 +30,5 @@ add_executable(yoloe_demo
|
||||||
|
|
||||||
target_link_libraries(yoloe_demo
|
target_link_libraries(yoloe_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,20 @@ example
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yolo11_demo)
|
project(yolo11_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -33,7 +23,6 @@ message(STATUS "OpenCV_DIR: ${OpenCV_DIR}")
|
||||||
find_package(OpenCV REQUIRED)
|
find_package(OpenCV REQUIRED)
|
||||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
||||||
add_executable(yolo11_demo
|
add_executable(yolo11_demo
|
||||||
main.cpp
|
main.cpp
|
||||||
postprocess.cpp
|
postprocess.cpp
|
||||||
|
|
@ -42,5 +31,5 @@ add_executable(yolo11_demo
|
||||||
|
|
||||||
target_link_libraries(yolo11_demo
|
target_link_libraries(yolo11_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
@ -70,6 +70,20 @@ example
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,13 +65,13 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DOpenCV_DIR=${ROOT_PWD}/../../../dependency/opencv/opencv-android-sdk-build/sdk/native/jni/abi-${TARGET_ABI} \
|
-DOpenCV_DIR=${ROOT_PWD}/../../../dependency/opencv/opencv-android-sdk-build/sdk/native/jni/abi-${TARGET_ABI} \
|
||||||
-DNNSDK_DIR=${ROOT_PWD}/../../../../amlnn-toolkit/nn_runtime/nnsdk
|
|
||||||
|
|
||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yolo_world_demo)
|
project(yolo_world_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set 3rdparty path
|
# Set 3rdparty path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -42,5 +32,5 @@ add_executable(yolov8_demo
|
||||||
|
|
||||||
target_link_libraries(yolov8_demo
|
target_link_libraries(yolov8_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,20 @@
|
||||||
|
|
||||||
#### 1. Compile
|
#### 1. Compile
|
||||||
|
|
||||||
|
#### AMLNN SDK Setup
|
||||||
|
|
||||||
|
Resolve the AMLNN nnsdk dependency using one of the following methods:
|
||||||
|
|
||||||
|
- **Priority 1 – Environment variable (recommended)**
|
||||||
|
```bash
|
||||||
|
export AMLNN_HOME=/path/to/amlnn-toolkit
|
||||||
|
```
|
||||||
|
- **Priority 3 – Sibling directory fallback** *(automatic)*
|
||||||
|
Place `amlnn-toolkit` as a sibling to `amlnn-model-playground`:
|
||||||
|
```bash
|
||||||
|
git clone git@github.com:Amlogic-NN/amlnn-toolkit.git ../amlnn-toolkit
|
||||||
|
```
|
||||||
|
|
||||||
**Prerequisites:**
|
**Prerequisites:**
|
||||||
- Android NDK (r25e recommended)
|
- Android NDK (r25e recommended)
|
||||||
- `ANDROID_NDK_PATH` environment variable set
|
- `ANDROID_NDK_PATH` environment variable set
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yolo_world_demo)
|
project(yolo_world_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set 3rdparty path
|
# Set 3rdparty path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -41,5 +31,5 @@ add_executable(yolo_world_demo
|
||||||
|
|
||||||
target_link_libraries(yolo_world_demo
|
target_link_libraries(yolo_world_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ echo "BUILD_DIR: ${BUILD_DIR}"
|
||||||
mkdir -p ${BUILD_DIR}
|
mkdir -p ${BUILD_DIR}
|
||||||
cd ${BUILD_DIR}
|
cd ${BUILD_DIR}
|
||||||
|
|
||||||
cmake ../../src \
|
cmake -Wno-dev ../../src \
|
||||||
|
-DAMLNN_HOME=${AMLNN_HOME:-} \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_PATH}/build/cmake/android.toolchain.cmake \
|
||||||
-DANDROID_ABI=${TARGET_ABI} \
|
-DANDROID_ABI=${TARGET_ABI} \
|
||||||
-DANDROID_PLATFORM=android-24 \
|
-DANDROID_PLATFORM=android-24 \
|
||||||
|
|
|
||||||
|
|
@ -1,31 +1,21 @@
|
||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.10...3.27)
|
||||||
project(yolo11_demo)
|
project(yolo11_demo)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
# Set NNSDK path
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../../../cmake")
|
||||||
if(NOT DEFINED NNSDK_DIR)
|
find_package(AMLNN REQUIRED)
|
||||||
set(NNSDK_DIR "${CMAKE_SOURCE_DIR}/../../../../../amlnn-toolkit/nn_runtime/nnsdk")
|
include_directories(${AMLNN_INCLUDE_DIR})
|
||||||
endif()
|
link_directories(${AMLNN_LIBRARY_DIR})
|
||||||
set(NNSDK_ROOT "${NNSDK_DIR}")
|
|
||||||
message(STATUS "NNSDK_ROOT: ${NNSDK_ROOT}")
|
|
||||||
|
|
||||||
include_directories(${NNSDK_ROOT}/include)
|
|
||||||
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
include_directories(${CMAKE_SOURCE_DIR}/../../../../common)
|
||||||
|
|
||||||
# Set dependency path
|
# Set dependency path
|
||||||
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/../../../../dependency")
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
|
||||||
if (ANDROID_ABI STREQUAL "arm64-v8a")
|
|
||||||
link_directories(${NNSDK_ROOT}/android/arm64-v8a)
|
|
||||||
else()
|
|
||||||
link_directories(${NNSDK_ROOT}/android/armeabi-v7a)
|
|
||||||
endif()
|
|
||||||
# Android needs log
|
# Android needs log
|
||||||
link_libraries(log)
|
link_libraries(log)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
||||||
link_directories(${NNSDK_ROOT}/linux/yocto/aarch64-poky-linux)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenCV
|
# Find OpenCV
|
||||||
|
|
@ -33,7 +23,6 @@ message(STATUS "OpenCV_DIR: ${OpenCV_DIR}")
|
||||||
find_package(OpenCV REQUIRED)
|
find_package(OpenCV REQUIRED)
|
||||||
include_directories(${OpenCV_INCLUDE_DIRS})
|
include_directories(${OpenCV_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
|
||||||
add_executable(yolox_demo
|
add_executable(yolox_demo
|
||||||
main.cpp
|
main.cpp
|
||||||
postprocess.cpp
|
postprocess.cpp
|
||||||
|
|
@ -42,5 +31,5 @@ add_executable(yolox_demo
|
||||||
|
|
||||||
target_link_libraries(yolox_demo
|
target_link_libraries(yolox_demo
|
||||||
${OpenCV_LIBS}
|
${OpenCV_LIBS}
|
||||||
nnsdk
|
${AMLNN_LIBRARY}
|
||||||
)
|
)
|
||||||
Loading…
Add table
Add a link
Reference in a new issue