Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
1f2f3f53
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
1 年多 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1f2f3f53
编写于
9月 21, 2022
作者:
H
HydrogenSulfate
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update shitu android demo README
上级
2b38c85a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
28 addition
and
5 deletion
+28
-5
deploy/shitu_android_demo/app/src/main/assets/models/README.md
...y/shitu_android_demo/app/src/main/assets/models/README.md
+1
-1
deploy/shitu_android_demo/app/src/main/cpp/Pipeline.cc
deploy/shitu_android_demo/app/src/main/cpp/Pipeline.cc
+3
-2
deploy/shitu_android_demo/docs/README.md
deploy/shitu_android_demo/docs/README.md
+24
-2
未找到文件。
deploy/shitu_android_demo/app/src/main/assets/models/README.md
浏览文件 @
1f2f3f53
put
`*.nb`
inference model file there. such as
`general_PPLCNetV2_base_quant_v1.0_lite.nb`
and
`mainbody_PPLCNet_x2_5_640_
v1.2
_lite.nb`
put
`*.nb`
inference model file there. such as
`general_PPLCNetV2_base_quant_v1.0_lite.nb`
and
`mainbody_PPLCNet_x2_5_640_
quant_v1.0
_lite.nb`
deploy/shitu_android_demo/app/src/main/cpp/Pipeline.cc
浏览文件 @
1f2f3f53
...
...
@@ -61,9 +61,10 @@ PipeLine::PipeLine(std::string det_model_path, std::string rec_model_path,
max_det_num_
=
topk
;
cpu_pow_
=
cpu_power
;
det_model_path_
=
det_model_path_
+
"/mainbody_PPLCNet_x2_5_640_v1.2_lite.nb"
;
det_model_path_
=
det_model_path_
+
"/mainbody_PPLCNet_x2_5_640_quant_v1.0_lite.nb"
;
rec_model_path_
=
rec_model_path_
+
"/general_PPLCNet
_x2_5_lite_v1.2_infer
.nb"
;
rec_model_path_
+
"/general_PPLCNet
V2_base_quant_v1.0_lite
.nb"
;
// create object detector
det_
=
std
::
make_shared
<
ObjectDetector
>
(
det_model_path_
,
det_input_shape_
,
...
...
deploy/shitu_android_demo/docs/README.md
浏览文件 @
1f2f3f53
...
...
@@ -21,7 +21,18 @@
首先使用git工具,将本项目克隆到本地
### 文件准备
1.
下载我们准备好的模型压缩包:
[
ppshituv2_lite_models_v1.0.tar
](
https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/lite/ppshituv2_lite_models_v1.0.tar
)
并解压出来,将其中2个
`*.nb`
格式的Lite模型文件放置到
[
shitu_android_demo/app/src/main/assets/models
](
../app/src/main/assets/models
)
目录下。以 PP-ShiTuV2 的主体检测和特征提取模型为例,模型最终的文件组织结构如下所示
下述步骤均以
**ppshituv2_lite_models_v1.0.tar**
模型压缩包为例,如需使用非量化的模型包 ppshituv2_lite_models_fp32_v1.0.tar ,则按照类似步骤进行操作,过程中使用非量化的识别模型生成检索库,同时按照
[
FAQ-Q2
](
#faq
)
将文件名替换成非量化的模型文件名即可。
1.
下载我们准备好的模型压缩包:
| model | download_link | size |
| :--------- | :------------------------------------------------ | :-- |
| 量化模型 | [ppshituv2_lite_models_v1.0.tar](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/lite/ppshituv2_lite_models_v1.0.tar) | 13.8MB |
| fp32模型 | [ppshituv2_lite_models_fp32_v1.0.tar](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/lite/ppshituv2_lite_models_fp32_v1.0.tar) | 44.8MB |
**注:** 量化模型虽然减少了体积但也略微降低了精度,用户可以根据实际需要下载量化或非量化版本的模型文件;上述表格中的“size”指主体检测+特征提取`*.nb`文件的大小总和,不包括压缩包内额外提供的方便用户导出检索库的普通推理模型大小;
下载 [ppshituv2_lite_models_v1.0.tar](https://paddle-imagenet-models-name.bj.bcebos.com/dygraph/lite/ppshituv2_lite_models_v1.0.tar) 并解压出来,将其中2个 `*.nb` 格式的Lite模型文件放置到 [shitu_android_demo/app/src/main/assets/models](../app/src/main/assets/models) 目录下。以 PP-ShiTuV2 的主体检测和特征提取模型为例,模型最终的文件组织结构如下所示
```log
models
├── general_PPLCNetV2_base_quant_v1.0_lite.nb
...
...
@@ -46,7 +57,7 @@
tar -xf ppshituv2_lite_models_v1.0.tar
cd ../
# 构建检索库与标签库
# 构建检索库与标签库
(如使用非量化模型,则需将Global.rec_inference_model_dir后的路径改为非量化推理模型)
python3.7 python/build_gallery.py -c configs/inference_drink.yaml -o Global.rec_inference_model_dir=./models/ppshituv2_lite_models_v1.0/general_PPLCNetV2_base_quant_v1.0_lite_inference_model -o IndexProcess.index_method=Flat -o Global.android_demo=True
```
4.
然后将
`configs/inference_drink.yaml`
文件中的
`IndexProcess.index_dir`
字段后的路径改为
`"../drink_dataset_v2.0/index"`
,再执行以下命令,得到转换成txt格式的标签库
...
...
@@ -95,3 +106,14 @@ main
└── ...
```
开发者可以针对以上涉及的具体代码文件进行修改与二次开发
### FAQ
Q1: 点击绿色箭头后,交叉编译过程中报“source-7不支持lambda匿名表达式“的错误
A1: 将光标移动到报错的代码上,按
`Alt+Enter`
键,选择替换语言支持到source-8,等待IDE同步更新完毕,再重新点击绿色箭头即可。
Q2: 想更换其他检测或识别模型
A2: 首先将自己准备的模型放置到
[
shitu_android_demo/app/src/main/assets/models
](
../app/src/main/assets/models
)
目录下,然后对用替换
[
Pipeline.cc
](
../app/src/main/cpp/Pipeline.cc#L64-L65
)
文件中检测和识别模型的路径,重新点击绿色三角箭头交叉编译安装即可。
Q3: 开发过程中APP进行某些操作会闪退
A3: 一般闪退是由于APP代码存在一些BUG导致程序运行出现错误,可以重点关注Android Studio下方的"Run"窗口,闪退时报错信息会显示在里面,方便快速定位问题代码行。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录