Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Paddle-Lite
提交
71c8718b
P
Paddle-Lite
项目概览
PaddlePaddle
/
Paddle-Lite
通知
331
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看板
未验证
提交
71c8718b
编写于
4月 01, 2019
作者:
Z
zhangyang0701
提交者:
GitHub
4月 01, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1545 from zhangyang0701/develop
modify FPGA doc close
#1544
上级
773f062f
1abb398c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
35 deletion
+6
-35
doc/development_fpga.md
doc/development_fpga.md
+2
-35
src/io/paddle_inference_api.h
src/io/paddle_inference_api.h
+4
-0
未找到文件。
doc/development_fpga.md
浏览文件 @
71c8718b
# FPGA开发文档
# FPGA开发文档
FPGA平台的代码分为V1和V2。
其中V1在Xilinx ZCU102 revision 1.0开发板测试Resnet50成功,预测结果正确。以下描述适用于复现V1运行的
结果。
FPGA平台的代码分为V1和V2。
要复现V1运行的结果,需要准备专门的硬件、底层驱动程序、FPGA工程。这些都在之前的版本
[
1.1.1
](
https://github.com/PaddlePaddle/paddle-mobile/releases/tag/1.1.1
)
中提供了链接。根据链接的使用说明,可以复现resnet50的推测
结果。
## 准备硬件
后续PaddleMobile版本,不再提供相关的辅助文件。
__
_
1.
购买Xilinx ZCU102 revision1.0 开发板
2.
另外下载Xilinx ZCU102 Ubuntu
[
镜像文件
](
https://www.xilinx.com/member/forms/download/xef.html?filename=Ubuntu_Desktop_Release_2018_1.zip
)
,并烧录进SD卡。
*
Windowns系统可使用Win32DiskImager
*
Linux系统使用dd命令:dd if=name.img of=/dev/sdb
2.
将SD卡插入电脑,替换分区1中已有的BOOT.BIN、image.ub为
[
BOOT.BIN、image.ub
](
http://mms-graph.bj.bcebos.com/paddle-mobile/fpga/files.tar.gz
)
3.
将SD卡插入ZCU102开发板,设置板拨码开关为SD卡启动,上电启动Linux系统.
3.
装载驱动:sudo insmod
[
fpgadrv.ko
](
http://mms-graph.bj.bcebos.com/paddle-mobile/fpga/files.tar.gz
)
## 编译工程
__
_
1.
将最新的paddle mobile 代码复制到ZCU102开发板中。
2.
进入paddle-mobile根目录, CMakeLists.txt 设置平台为 option(FPGA "fpga support" ON)。CPU和MALI
\_
GPU选项设置为OFF。设置option(FPGAV1 "fpga v1" ON), option(FPGAV2 "fpga v2" OFF)。
2.
执行以下命令,可在./test/build下生成test-resnet50可执行程序。
*
mkdir build
*
cd build
*
cmake ..
*
make
## 准备模型和数据
__
_
1.
模型文件放在./test/models/resnet50中。将
[
\_\_model\_\_
](
http://mms-graph.bj.bcebos.com/paddle-mobile/fpga/files.tar.gz
)
文件复制到此文件夹下。
2.
如果不存在,则创建文件夹./test/models/resnet50 和 ./test/images。
3.
另外下载模型
[
权重文件
](
http://paddle-imagenet-models.bj.bcebos.com/resnet_50_model.tar
)
,解压后也放在./test/models/resnet50 中。
4.
将数据文件
[
image_src_float
](
http://mms-graph.bj.bcebos.com/paddle-mobile/fpga/files.tar.gz
)
复制到./test/images下。此数据文件对应着标准数据集中的ILSVRC2012_val_00000885.JPEG,分类标签为80, 对应着"black grouse"。
## 运行程序
__
_
1.
进入./test/build目录。
2.
sudo ./test-resnet50
3.
如果于DEBUG选项是否打开,屏幕会输出很多中间打印信息。最终打印出预测分类结果为80。
src/io/paddle_inference_api.h
浏览文件 @
71c8718b
...
@@ -35,6 +35,10 @@ namespace fpga {
...
@@ -35,6 +35,10 @@ namespace fpga {
int
open_device
();
int
open_device
();
void
*
fpga_malloc
(
size_t
size
);
void
*
fpga_malloc
(
size_t
size
);
void
fpga_free
(
void
*
ptr
);
void
fpga_free
(
void
*
ptr
);
// Usage:
// auto version = fpga::paddle_mobile_version();
// std::cout << "0X0" << std::hex << version << std::endl;
uint32_t
paddle_mobile_version
();
uint32_t
paddle_mobile_version
();
}
// namespace fpga
}
// namespace fpga
#endif
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录