Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • PaddlePaddle
  • Paddle-Lite
  • Issue
  • #910

P
Paddle-Lite
  • 项目概览

PaddlePaddle / Paddle-Lite

通知 338
Star 4
Fork 1
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 271
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 78
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
P
Paddle-Lite
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 271
    • Issue 271
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 78
    • 合并请求 78
  • Pages
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 提交
  • Issue看板
已关闭
开放中
Opened 9月 05, 2018 by saxon_zh@saxon_zhGuest

树莓派上编译的方法(应该适用于所有的arm-linux设备)

Created by: JulyJohn

NOTE: Provide a method for compiling in arm-linux device. 我的机器是树莓派3b+,按照如下方法成功在目标机器上编译并得到运行。对于其它的arm-linux设备应该也都可行。仅供大家参考。 ================编译方法************************** 1.修改 https://github.com/PaddlePaddle/paddle-mobile/blob/63f7167851e70290a8c924d3666530b1de93a934/CMakeLists.txt#L5 为:

option(USE_OPENMP "openmp support" ON) 

2.修改 https://github.com/PaddlePaddle/paddle-mobile/blob/63f7167851e70290a8c924d3666530b1de93a934/CMakeLists.txt#L20 为

set(CMAKE_CXX_FLAGS "-std=c++14 -mfpu=neon -O3 -s ${CMAKE_CXX_FLAGS}") 

3.如果想修改默认网络,可以修改下列代码中的default。 https://github.com/PaddlePaddle/paddle-mobile/blob/63f7167851e70290a8c924d3666530b1de93a934/CMakeLists.txt#L142 例如我想修改成googlenet:

set(NET "googlenet" CACHE STRING "select net type")

可选项有:

"default" "googlenet" "mobilenet" "yolo" "squeezenet" "FPGAnets"

4.按如下操作编译

mkdir build
cd build
cmake ..
make -j4

5.将编译生成的.so文件拷到/usr/lib下

sudo cp build/libpaddle-mobile.so /usr/lib
ldconfig

6.测试 需要先下载models,并解压到工程根目录中的test目录下

wget http://mms-graph.bj.bcebos.com/paddle-mobile%2FmodelsAndImages.zip

之后进入test目录下的build文件夹,可以看到很多形如test_*的可执行文件,尝试运行一个mobilenet:

./test_mobilenet

大概耗时250ms。

=====================华丽的分割线****************************************

目前已经发现的问题:

  1. 运行./test-batchnorm-op会报如下错误:
DEBUG   [file: test_batchnorm_op.cpp] [line: 117] : op -> run()
DEBUG   [file: operator.cpp] [line: 65] : batch_norm input- X= dims: 1 256 38 38 
0.671156 0.99052 0.231855 0.759785 0.0814431 0.906881 0.608392 0.747109 0.953585 0.976047 0.512203 0.490695 0.978436 0.389438 0.283938 0.68275 0.585255 0.605909 0.680033 0.0608108 0.685035 
DEBUG   [file: operator.cpp] [line: 70] : batch_norm output- Y= dims: 1 256 38 38 
0.216983 1.37029 -0.130622 0.688914 0.0498221 1.15432 0.98134 0.0508528 1.0472 0.991275 0.355184 0.0783572 0.622399 0.129167 0.0307608 0.482117 0.532668 0.0352078 1.44677 0.0812567 0.194354 
DEBUG   [file: test_batchnorm_op.cpp] [line: 166] :  (0.671156 - 0.55254)/((0.259094 + 0.00001)^0.5)* 0.397557 + 0.124341 = 
DEBUG   [file: test_batchnorm_op.cpp] [line: 169] : 0.216983
DEBUG   [file: test_batchnorm_op.cpp] [line: 171] : input_ptr 0 : 0.671156
DEBUG   [file: test_batchnorm_op.cpp] [line: 172] : output_ptr 0 : 0.216983
*** Error in `./test-batchnorm-op': double free or corruption (!prev): 0x00176230 ***
Aborted
  1. 运行
./test_mobilenet

会出现结果全为Nan的情况,提示“如果结果Nan请查看: test/images/g_test_image_1x3x224x224_banana 是否存在?”,但实际上我已经将models和images放到了test文件夹下

欢迎补充bug并@可爱的开发者大佬们。

指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: paddlepaddle/Paddle-Lite#910
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7