caffe能否移植到arm平台
2017年6月29日更:
关于ive: 海思已经移植好了caffe库,而且提供了将pc训练好的模型转换为可以导入ive中运行的模型方法,具体参考如下文档: sdk中ive开发包路径:Hi3519 V100R001C01SPC040\\01.software\\pc\\IVE_CLIB\\HiIVE_PC_V2.1.0.5.rar\\HiIVE_PC_V2.1.0.5\\
2017年6月27日更: 关于移植出现问题有网友已解决, 原因: openblas库移植的有问题,由于3519浮点运算不支持函数的参数直接传递到FPU的寄存器(s0、d0)中(hard模式),而移植的openblas库使用的是hard模式。 解决方法: 3519浮点运算支持softfp模式,对应openblas分支如下,编译即可: https://github.com/xianyi/OpenBLAS/tree/arm_soft_fp_abi
1.以下是caffe依赖库gflags,lmdb,protobuf,leveldb,snappy,hdf5,boost,openblas移植以及caffe的编译过程。
2.caffe依赖库opencv和glog的移植可参考博客:http://m.blog.csdn.net/article/details?id=56485093
http://m.blog.csdn.net/article/details?id=56838586
3.目前caffe和其依赖库已经移植完成,但是在训练数据时出现了错误(运行PC训练好的模型时也会出现这种错误),不知道是否由于依赖库的移植有问题,如果有遇到这种问题或者对该问题有什么想法的欢迎交流(shunzhi163@163.com)。
错误log:
I0406 10:54:27.313168 722 net.cpp:242] This network produces output accuracyI0406 10:54:27.313230 722 net.cpp:242] This network produces output lossI0406 10:54:27.313371 722 net.cpp:255] Network initialization done.I0406 10:54:27.314100 722 solver.cpp:56] Solver scaffolding done.I0406 10:54:27.314471 722 caffe.cpp:248] Starting OptimizationI0406 10:54:27.314553 722 solver.cpp:273] Solving LeNetI0406 10:54:27.314610 722 solver.cpp:274] Learning Rate Policy: invI0406 10:54:27.321142 722 solver.cpp:331] Iteration 0, Testing net (#0)*** Aborted at 1491504867 (unix time) try "date -d @1491504867" if you are using GNU date ***PC: @ 0xb6ea7c54 (unknown)Segmentation fault
一.移植gflags
1.移植环境
* Ubuntu16.04 + arm-hisiv500-linux-gcc * gflags下载地址:https://github.com/schuhschuh/gflags/archive/master.zip
2.编译步骤
* 解压:shunzhi@ubuntu:~/software/gflags$ unzip master.zip * 新建安装编译目录:shunzhi@ubuntu:~/software/gflags/gflags-master$ mkdir _install _build * 配置:shunzhi@ubuntu:~/software/gflags/gflags-master/_build$ cmake-gui
点击Browse Source选择~/software/gflags/gflags-master点击Browse Build选择~/software/gflags/gflags-master/_build
点击Configure
此时出现的对话框选择最后一项:Specify options for cross-compiling
点击NEXT
Operating System填写 arm-hisiv500-linux
C填写arm-hisiv500-linux-gcc
C++填写arm-hisiv500-linux-g++
点击finish,然后等待Configuration done
然后在出现的列表中修改CMAKE_INSTALL_PREFIX为~/software/gflags/gflags-master/_install
点击Generate
等待Generation done
之后关闭cmake软件。
* 编译:shunzhi@ubuntu:~/software/gflags/gflags-master/_build$ make * 安装:shunzhi@ubuntu:~/software/gflags/gflags-master/_build$ sudo make install
3.编译结果:
shunzhi@ubuntu:~/software/gflags/gflags-master/_install$ tree.├── include│ └── gflags│ ├── gflags_completions.h│ ├── gflags_declare.h│ ├── gflags_gflags.h│ └── gflags.h└── lib ├── cmake │ └── gflags │ ├── gflags-config.cmake │ ├── gflags-config-version.cmake │ ├── gflags-targets.cmake │ └── gflags-targets-release.cmake ├── libgflags.a ├── libgflags_nothreads.a └── pkgconfig └── gflags.pc
推荐阅读
- 广东今年角膜捐献量和移植手术量较往年均有增加
- 汽车知识|押宝全新造型,东风雪铁龙新C5能否成为神龙公司“救世主”
- 中国版Evan能火吗美国9岁男童录制评测玩具视频年入800万,中国能否复制成功
- 汽车市场|中期改款再战D级车市场,新雷克萨斯LS能否超过宝马7系等对手?
- 澎湃汽车圈|试驾名爵MG领航 运动性和实用性能否兼顾?
- 天天汽车|超高性价比实力宠粉,2021款奕歌能否点燃你的心?
- 能否推荐一个能用快播看电影且电影都是中英双字幕的网站
- 汽车|定位更细分SUV市场,领克06能否扩大领克的“朋友圈”?
- 汽车白话|看脸蛋、观腰身、品内饰长安欧尚X5“塑光美学”能否打动挑剔的你
- 环球车讯网|软件能否定义汽车