当前位置:首页 > AI > 正文内容

基于CycloneV使用Paddle Lite,并分别使用单独HPS和FPGA加速对比效果。

chanra1n2年前 (2022-03-10)AI3932

第一部分、仅使用HPS进行计算

第一步、通过ssh链接至开发板

image.png

第二步、解决apt-get存在的问题

chmod 644 /usr/lib/sudo/sudoers.so && chown -R root /usr/lib/sudo && pkexec chown root:root /etc/sudoers /etc/sudoers.d -R
chown -R root:root /etc/sudoers.d && chmod u=rwx,g=rx,o=rx /etc/sudoers.d/ && chmod u=r,g=r,o= /etc/sudoers.d/*

第三步、安装依赖

sudo apt-get update && sudo apt-get install git curl -y && sudo apt-get install gcc g++ make wget unzip libopencv-dev pkg-config screen -y
sudo apt-get upgrade -y

第四步、克隆Paddle-lite镜像

sudo git clone https://github.com/PaddlePaddle/Paddle-Lite-Demo

如果克隆失败可以尝试使用gitee的镜像源

sudo git clone https://gitee.com/wowowoll/Paddle-Lite-Demo

image.png

第五步、下载依赖

cd Paddle-Lite-Demo/PaddleLite-armlinux-demo/ && sudo sh download_models_and_libs.sh && cd object_detection_demo

image.png

第六步、升级CMAKE3.10 (CMAKE升级大概花费两个小时)

screen
apt-get install -y --no-install-recommends gcc g++ make wget python unzip patchelf python-dev && wget http://myfpga.cn/download/cmake-3.10.3.tar.gz && tar -zxvf cmake-3.10.3.tar.gz && cd cmake-3.10.3 && ./configure && make && sudo make install && cmake --version

第七步、修改配置文件

修改run.sh,将第四行前面加上#,第五行的#去掉,修改后效果:
#TARGET_ARCH_ABI=armv8 # for RK3399, set to default arch abi
TARGET_ARCH_ABI=armv7hf # for Raspberry Pi 3B

修改object_detection_demo.cc,在include的最后一行加上
#include <fstream>
using namespace std;

修改后效果:

image.png

第八步、编译运行

sh run.sh


注:如果不想执行第六步等待很长时间,可以在执行完第三步之后直接运行以下命令下载本站编译过的文件(不建议)

wget -O Paddle.gz https://myfpga.cn/zb_users/upload/2021/08/202108171629131753287640.gz && tar zcvf Paddle.gz && cd Paddle && sudo sh image_classification_demo.sh


单处理器识别结果(目标检测):

image.png

单处理器识别结果(图片分类):

image.png

单处理器识别结果(YOLO):

image.png

image.png

第二部分,使用FPGA加速Paddle Lite

请参考 https://paddle-lite.readthedocs.io/zh/latest/demo_guides/intel_fpga.html

结果:

./run.sh
  iter 0 cost: 3079.443115 ms
  iter 1 cost: 3072.508057 ms
  iter 2 cost: 3063.342041 ms
  warmup: 1 repeat: 3, average: 3071.764404 ms, max: 3079.443115 ms, min: 3063.342041 ms
  results: 3
  [0] bicycle - 0.997817 0.163673,0.217786,0.721802,0.786120  [1] car - 0.943994 0.597238,0.131665,0.905698,0.297017  [2] dog - 0.959329 0.157911,0.334807,0.431497,0.920035
  Preprocess time: 114.061000 ms
  Prediction time: 3071.764404 ms
  Postprocess time: 13.166000 ms

大眼睛疑惑???

扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://myfpga.cn/index.php/post/234.html

分享给朋友:

“基于CycloneV使用Paddle Lite,并分别使用单独HPS和FPGA加速对比效果。” 的相关文章

C语言简单实现三层神经网络

C语言简单实现三层神经网络

//转自  #include "stdio.h" #include "stdlib.h" #include "time.h" #include "math.h"...

玩客云安装Armbian基于PaddleLite实现图片分类和目标检查 Cortex-A5等其他可参考

玩客云安装Armbian基于PaddleLite实现图片分类和目标检查 Cortex-A5等其他可参考

本教程为本站原创,转载请注明本网站链接,否则视为侵权!如果朋友还没有安装Armbian,或者怎么折腾也折腾不好,请直接翻到文章最后下载img文件!教程中碰到出错的地方,可以重复运行代码尝试!其他的ArmV7 32位的也可以参考本文,图片分类速度:1.1帧/秒,每张图片耗时约900ms,生产用途应该是...

使用ZYNQ7010安装PYNQ,基于PaddleLite实现目标检测+图片分类

使用ZYNQ7010安装PYNQ,基于PaddleLite实现目标检测+图片分类

目前只使用HPS实现了目标检测和图片分类,现在正在尝试使用HS端加速卷积,,,步骤一、烧录PYNQ镜像到TF卡    略步骤二、ssh链接至开发板,使用apt-get安装依赖sudo apt-get update &&am...

(原创)联合网页图片爬虫和PaddlePaddle,对图片进行爬取并分类

(原创)联合网页图片爬虫和PaddlePaddle,对图片进行爬取并分类

#首先是Python语言的测试代码,如需服务端部署,请见文末。 import os import time import argparse import requests import re import io from&nb...

(仅供娱乐)基于FFmpeg和PaddleX实现视频分类

(仅供娱乐)基于FFmpeg和PaddleX实现视频分类

代码是一个视频分类程序,它使用PaddleX框架中的深度学习模型对视频截图进行分类推理,并将分类结果应用于视频分类。它的工作流程是:导入必要的Python库:os、shlex、subprocess、shutil、paddlex、cv2、defaultdict。设置调试模式:DEBUG_MODE =...