Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
672479d
[Backend] Add override flag to lite backend
DefTruth Oct 20, 2022
e0198f6
Merge branch 'PaddlePaddle:develop' into android_build_docs
DefTruth Oct 20, 2022
95bf273
Merge branch 'PaddlePaddle:develop' into android_build_docs
DefTruth Oct 21, 2022
ba1e206
update doc
jiangjiajun Oct 21, 2022
cda3e95
[Docs] Add Android C++ SDK build docs
DefTruth Oct 21, 2022
f5fdd76
Merge branch 'develop' into android_build_docs
DefTruth Oct 21, 2022
b97e2e2
[Doc] fix android_build_docs typos
DefTruth Oct 21, 2022
265f8ac
Update CMakeLists.txt
DefTruth Oct 21, 2022
3aca8c7
Update android.md
DefTruth Oct 21, 2022
629cf87
Update quantize.md
leiqing1 Oct 21, 2022
dabab15
Update quantize.md
leiqing1 Oct 21, 2022
12eefb0
Update quantize.md
leiqing1 Oct 21, 2022
77ff3b3
Update README.md
leiqing1 Oct 21, 2022
75d9eba
Merge branch 'develop' into android_build_docs
DefTruth Oct 21, 2022
8dbc1f1
[Doc] Add Android C++ SDK build docs (#409)
DefTruth Oct 21, 2022
43d8611
[Backend] TRT backend & PP-Infer backend support pinned memory (#403)
wang-xinyu Oct 21, 2022
942c56e
[Doc] Add PicoDet Android demo docs
DefTruth Oct 21, 2022
699561e
Merge branch 'android_build_docs' of https://github.com/DefTruth/Fast…
DefTruth Oct 21, 2022
5f58e3f
Merge branch 'develop' into android_build_docs
DefTruth Oct 21, 2022
f4c32a6
[Bug Fix] release task scripts (#411)
felixhjh Oct 22, 2022
e10666a
Merge branch 'develop' into android_build_docs
DefTruth Oct 22, 2022
30971cf
[Doc] add contributor for js application (#413)
LDOUBLEV Oct 22, 2022
9217301
[Doc] Update PicoDet Andorid demo docs
DefTruth Oct 22, 2022
39f84c9
Merge branch 'PaddlePaddle:develop' into android_build_docs
DefTruth Oct 22, 2022
98a3adf
Merge branch 'android_build_docs' of https://github.com/DefTruth/Fast…
DefTruth Oct 22, 2022
c9eed32
[Doc] Update PaddleClasModel Android demo docs
DefTruth Oct 22, 2022
d37e626
[Doc] Update fastdeploy android jni docs
DefTruth Oct 22, 2022
8f837d9
[Doc] Update fastdeploy android jni usage docs
DefTruth Oct 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
268 changes: 0 additions & 268 deletions .new_docs/cn/faq/add_new_model.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/api_docs/python/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ FastDeploy
image_classification.md
keypoint_detection.md
matting.md
vision_results_en.md
2 changes: 2 additions & 0 deletions docs/api_docs/python/vision_results_en.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Description of Vision Results

本文档的中文版本参考[视觉模型预测结果说明](./vision_results_cn.md)

## ClassifyResult
The code of ClassifyResult is defined in `fastdeploy/vision/common/result.h` and is used to indicate the classification label result and confidence the image.

Expand Down
104 changes: 103 additions & 1 deletion docs/cn/build_and_install/android.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,105 @@
# Android部署库编译

进行中...
FastDeploy当前在Android仅支持Paddle-Lite后端推理,支持armeabi-v7a和arm64-v8a两种cpu架构,在armv8.2架构的arm设备支持fp16精度推理。相关编译选项说明如下:

|编译选项|默认值|说明|备注|
|:---|:---|:---|:---|
|ENABLE_LITE_BACKEND|OFF|编译Android库时需要设置为ON| - |
|WITH_OPENCV_STATIC|OFF|是否使用OpenCV静态库| - |
|WITH_LITE_STATIC|OFF|是否使用Lite静态库| 暂不支持使用Lite静态库 |
|WITH_LITE_FULL_API|ON|是否使用Lite Full API库| 目前必须为ON |
|WITH_LITE_FP16|OFF|是否使用带FP16支持的Lite库| 目前仅支持 arm64-v8a 架构|

更多编译选项请参考[FastDeploy编译选项说明](./README.md)

## Android C++ SDK 编译安装

编译需要满足:

- Android SDK API >= 21
- Android NDK >= 20 (当前仅支持clang编译工具链)
- cmake >= 3.10.0

编译前请先检查您的Android SDK 和 NDK 是否已经配置,如:
```bash
➜ echo $ANDROID_SDK
/Users/xxx/Library/Android/sdk
➜ echo $ANDROID_NDK
/Users/xxx/Library/Android/sdk/ndk/25.1.8937393
```
推荐使用 NDK>=20 进行交叉编译,编译命令如下:
```bash
# Download the latest source code
git clone https://github.com/PaddlePaddle/FastDeploy.git
cd FastDeploy

# Setting up Android toolchanin
ANDROID_ABI=arm64-v8a # 'arm64-v8a', 'armeabi-v7a'
ANDROID_PLATFORM="android-21" # API >= 21
ANDROID_STL=c++_shared # 'c++_shared', 'c++_static'
ANDROID_TOOLCHAIN=clang # 'clang' only
TOOLCHAIN_FILE=${ANDROID_NDK}/build/cmake/android.toolchain.cmake

# Create build directory
BUILD_ROOT=build/Android
BUILD_DIR=${BUILD_ROOT}/${ANDROID_ABI}-api-21
FASDEPLOY_INSTALL_DIR="${BUILD_DIR}/install"
mkdir build && mkdir ${BUILD_ROOT} && mkdir ${BUILD_DIR}
cd ${BUILD_DIR}

# Check fp16 support (only support arm64-v8a now)
WITH_LITE_FP16=ON
if [ "$ANDROID_ABI" = "armeabi-v7a" ]; then
WITH_LITE_FP16=OFF
fi

# CMake configuration with Android toolchain
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DANDROID_ABI=${ANDROID_ABI} \
-DANDROID_NDK=${ANDROID_NDK} \
-DANDROID_PLATFORM=${ANDROID_PLATFORM} \
-DANDROID_STL=${ANDROID_STL} \
-DANDROID_TOOLCHAIN=${ANDROID_TOOLCHAIN} \
-DENABLE_LITE_BACKEND=ON \
-DENABLE_VISION=ON \
-DWITH_LITE_FP16=${WITH_LITE_FP16} \
-DCMAKE_INSTALL_PREFIX=${FASDEPLOY_INSTALL_DIR} \
-Wno-dev ../../..

# Build FastDeploy Android C++ SDK
make -j8
make install
```
编译完成后,Android C++ SDK 保存在 `build/Android/arm64-v8a-api-21/install` 目录下,目录结构如下:
```bash
➜ tree . -d -L 3
.
├── examples
├── include
│   └── fastdeploy # FastDeploy 头文件
├── lib
│   └── arm64-v8a # FastDeploy Android 动态库
└── third_libs # 第三方依赖库
└── install
├── opencv
└── paddlelite
```
在examples/vision目录下可查看Android C++ SDK 使用案例:
```bash
.
├── classification
│   ├── paddleclas
│   │   ├── android # 图像分类Android使用案例
│   │   ├── cpp
...
├── detection
│   ├── paddledetection
│   │   ├── android # 目标检测Android使用案例
│   │   ├── cpp
...
```
如何使用FastDeploy Android C++ SDK 请参考使用案例文档:
- [图像分类Android使用文档](../../../examples/vision/classification/paddleclas/android/README.md)
- [目标检测Android使用文档](../../../examples/vision/detection/paddledetection/android/README.md)
- [在 Android 通过 JNI 中使用 FastDeploy C++ SDK](../../../../../docs/cn/faq/use_cpp_sdk_on_android.md)
Loading