Page 1 of 1

关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-02-29 2:55
by W凯先森~
RKNN Model Zoo实例中在后续的版本会支持哪些?会支持PPOCR-Rec字符识别吗?预计大概是什么时候支持

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-02-29 3:41
by Crocodile
W凯先森~ wrote: 2024-02-29 2:55 RKNN Model Zoo实例中在后续的版本会支持哪些?会支持PPOCR-Rec字符识别吗?预计大概是什么时候支持
您好,RKNN Model Zoo项目由瑞芯微官方维护,后续支持 Luckfox-pico 主控 RV1103/RV1106 的计划以官方通知为主。目前我们推出的 RKNN 实例支持 Yolov5,retinface 和 facenet,后续的支持方向主要考量社区的需求。
Luckfox-pico 资源有限,所支持的算子类型也有限,无法确保所有 RKNN Model Zoo 中的模型都能运行,PPOCR-Rec 字符识别我们会尝试支持。
您可以参考 wiki https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example 进行尝试。

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-02-29 9:35
by W凯先森~
Crocodile wrote: 2024-02-29 3:41
W凯先森~ wrote: 2024-02-29 2:55 RKNN Model Zoo实例中在后续的版本会支持哪些?会支持PPOCR-Rec字符识别吗?预计大概是什么时候支持
您好,RKNN Model Zoo项目由瑞芯微官方维护,后续支持 Luckfox-pico 主控 RV1103/RV1106 的计划以官方通知为主。目前我们推出的 RKNN 实例支持 Yolov5,retinface 和 facenet,后续的支持方向主要考量社区的需求。
Luckfox-pico 资源有限,所支持的算子类型也有限,无法确保所有 RKNN Model Zoo 中的模型都能运行,PPOCR-Rec 字符识别我们会尝试支持。
您可以参考 wiki https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example 进行尝试。
PPOCR-Rec 字符识别预计什么时候支持啊,应用场景很多的,希望大大能够早点实现,辛苦您了

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-03-05 10:24
by W凯先森~
Crocodile wrote: 2024-02-29 3:41
W凯先森~ wrote: 2024-02-29 2:55 RKNN Model Zoo实例中在后续的版本会支持哪些?会支持PPOCR-Rec字符识别吗?预计大概是什么时候支持
您好,RKNN Model Zoo项目由瑞芯微官方维护,后续支持 Luckfox-pico 主控 RV1103/RV1106 的计划以官方通知为主。目前我们推出的 RKNN 实例支持 Yolov5,retinface 和 facenet,后续的支持方向主要考量社区的需求。
Luckfox-pico 资源有限,所支持的算子类型也有限,无法确保所有 RKNN Model Zoo 中的模型都能运行,PPOCR-Rec 字符识别我们会尝试支持。
您可以参考 wiki https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example 进行尝试。
可以交叉编译paddle-lite吗直接用cpu跑这个ocr模型,我看可以但是自己尝试交叉编译一直不成功

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-03-05 11:08
by Crocodile
W凯先森~ wrote: 2024-03-05 10:24
Crocodile wrote: 2024-02-29 3:41
W凯先森~ wrote: 2024-02-29 2:55 RKNN Model Zoo实例中在后续的版本会支持哪些?会支持PPOCR-Rec字符识别吗?预计大概是什么时候支持
您好,RKNN Model Zoo项目由瑞芯微官方维护,后续支持 Luckfox-pico 主控 RV1103/RV1106 的计划以官方通知为主。目前我们推出的 RKNN 实例支持 Yolov5,retinface 和 facenet,后续的支持方向主要考量社区的需求。
Luckfox-pico 资源有限,所支持的算子类型也有限,无法确保所有 RKNN Model Zoo 中的模型都能运行,PPOCR-Rec 字符识别我们会尝试支持。
您可以参考 wiki https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example 进行尝试。
可以交叉编译paddle-lite吗直接用cpu跑这个ocr模型,我看可以但是自己尝试交叉编译一直不成功
您好,可以阐述一下您在交叉编译过程中遇到的问题吗?我们会尝试为您提供解决思路。

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-03-27 8:17
by W凯先森~
Crocodile wrote: 2024-03-05 11:08
W凯先森~ wrote: 2024-03-05 10:24
Crocodile wrote: 2024-02-29 3:41

您好,RKNN Model Zoo项目由瑞芯微官方维护,后续支持 Luckfox-pico 主控 RV1103/RV1106 的计划以官方通知为主。目前我们推出的 RKNN 实例支持 Yolov5,retinface 和 facenet,后续的支持方向主要考量社区的需求。
Luckfox-pico 资源有限,所支持的算子类型也有限,无法确保所有 RKNN Model Zoo 中的模型都能运行,PPOCR-Rec 字符识别我们会尝试支持。
您可以参考 wiki https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example 进行尝试。
可以交叉编译paddle-lite吗直接用cpu跑这个ocr模型,我看可以但是自己尝试交叉编译一直不成功
您好,可以阐述一下您在交叉编译过程中遇到的问题吗?我们会尝试为您提供解决思路。
交叉编译paddle-lite的时候报下面附件的错误,然后如果不用交叉编译器就直接编译成功了,我怀疑缺少什么

Re: 关于RKNN Model Zoo其他实例支持rv1106问题

Posted: 2024-04-01 9:43
by Crocodile
W凯先森~ wrote: 2024-03-27 8:17
Crocodile wrote: 2024-03-05 11:08
W凯先森~ wrote: 2024-03-05 10:24
可以交叉编译paddle-lite吗直接用cpu跑这个ocr模型,我看可以但是自己尝试交叉编译一直不成功
您好,可以阐述一下您在交叉编译过程中遇到的问题吗?我们会尝试为您提供解决思路。
交叉编译paddle-lite的时候报下面附件的错误,然后如果不用交叉编译器就直接编译成功了,我怀疑缺少什么
您好,根据Paddle Lite的官方文档,想要使用Paddle模型工程需要依赖预编译库,而官方提供的预编译库并没有支持Luckfox-pico的版本,所以需要从源码开始进行编译,适用于luckfox-pico 的编译步骤如下:
1.下载Paddle Lite 预编译库的源码:

Code: Select all

git clone https://github.com/PaddlePaddle/Paddle-Lite.git     
2.修改编译指令
根据实验的平台以 <Paddle-Lite Path>/lite/tools/build_linux.sh 作为参考,拷贝为 <Paddle_lite Path>/lite/tools/build_luckfox.sh 修改 ARCH

Code: Select all

ARCH=armv7hf
3.修改交叉编译链
由于选择 ARCH 为 armv7hf 后会选择通用的 arm-linux-gnueabihf- 作为交叉编译链,而 luckfox-pico buildroot系统使用的是 arm-rockchip830-linux-uclibcgnueabihf 交叉编译链,所以需要进行修改。
打开 <Paddle-Lite>/cmake/os/armlinux.cmake注释原本选择的交叉编译链,修改为

Code: Select all

if(ARMLINUX_ARCH_ABI STREQUAL "armv7hf")
    set(CMAKE_SYSTEM_PROCESSOR arm)
    # 注意使用绝对路径,替换<Luckfox-Sdk>
    set(CMAKE_C_COMPILER "<Luckfox-Sdk>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
    set(CMAKE_CXX_COMPILER "<Luckfox-Sdk>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")
    #set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
    #set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
endif()
4.修改CMake选项
由于luckfox-pico 的交叉编译链并不支持 openmp 并行运行,所以需要去掉 openmp的选项,打开 <Paddle-Lite>/CMakeLists.txt 将 OpenMP 的选项设置为 off(在68行左右)

Code: Select all

lite_option(LITE_WITH_OPENMP                   "Enable OpenMP in lite framework"                                      OFF)
5.编译
在 <Paddle-Lite Path> 下 执行

Code: Select all

./lite/tools/build_luckfox.sh 
6.编译应用接口
进入生成的文件夹 <Paddle-Lite Path>/build.lite.linux.armv7hf.gcc/inference_lite_lib.armlinux.armv7hf
对应的源码在cxx里,对应的例程在demo里,官方提供的结构图
paddle00.jpg
进入demo/cxx/mobilenetv1_light 同样修改CMakeLists.txt中的交叉编译链

Code: Select all

if(ARMLINUX_ARCH_ABI STREQUAL "armv7hf")
    set(CMAKE_SYSTEM_PROCESSOR arm)
    # 注意使用绝对路径,替换<Luckfox-Sdk>
    set(CMAKE_C_COMPILER "<Luckfox-Sdk>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
    set(CMAKE_CXX_COMPILER "<Luckfox-Sdk>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")
    #set(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")
    #set(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")
endif()
接着执行./build.sh 即可获得 mobilenetv1_light_api 可执行文件。

注意:如果是使用ubuntu系统,可以使用 linaro 提供的 arm-linux-gnueabihf- 作为交叉编译链

后续的开发需要您自行探索了,希望这对您有所帮助。