【EdgeBoard体验】性能评测
置顶
Litchll 发布于2019-07 浏览:13250 回复:8
4
收藏
最后编辑于2023-09

前言
在上一次的测试中,我们从头开始训练了一个三个卷积层串联一个全连接层的输出,作为猫狗分类的预测的模型,这次我们自己训练一个ResNet模型,并在以下三个环境中进行性能的对比

  • AIStudio CPU: 2 Cores 8GB Memory
  • AIStudio GPU: V100 16GB VMem
  • Edgeboard

训练模型
模型使用AIStudio 进行训练,训练和预测代码如下

RESNET:https://aistudio.baidu.com/aistudio/projectdetail/67775
MOBILE:https://aistudio.baidu.com/aistudio/projectdetail/67776
按照之前我们的做法,导出model文件和param文件。

测试结果
我们执行预测,忽略掉预处理的速度,仅仅计算模型前向传播的时间。

对于AIstudio平台,我们计算以下代码的运行时间

label = exe.run(inference_program, feed={feed_target_names[0]: tensor_img}, fetch_list=fetch_targets)

对于Edgeboard上面的PaddleMobile,我们计算以下代码的运行时间

PaddleTensor tensor;
tensor.shape = std::vector({1, input_channel, input_width, input_height});
tensor.data = PaddleBuf(data, sizeof(data));
tensor.dtype = PaddleDType::FLOAT32;
std::vector paddle_tensor_feeds(1, tensor);
​
PaddleTensor tensor_out;
tensor_out.shape = std::vector({});
tensor_out.data = PaddleBuf();
tensor_out.dtype = PaddleDType::FLOAT32;
std::vector outputs(1, tensor_out);
​
predictor->Run(paddle_tensor_feeds, &outputs);

以下为两个模型的评测数据

ResNet

Edgeboard:

CPU:

GPU:


Mobile_Net
Edgeboard:

GPU:


CPU:


总结:
下表为两个模型预测速度的对比,从中来看,其速度相对于V100的GPU甚至还有一定的优势,让人难以相信。个人的分析是由于以下几个原因

  • Paddle-mobile较为启动预测,与AIstudio的完整版Paddlepaddle相比有启动效率上的优势,AIstudio启动预测可能较慢。
  • 整个预测模型batch size相当于1,发挥不出GPU的优势。
  • 部署预算按三年算的话,GPU V100价格大概是10万,CPU 1万, EdgeBoard 5千,性价比还是蛮高的。
 

我在进行模型预测的时候,使用钳表对功率进行了大概的估计(条件有限),钳表的读数在0.6A-8A之间变化。结合使用的12V适配器,我大概估计Edgeboard的功耗为8W.

以8W的功耗,在单张图片的预测速度上面领先了几十倍功耗的GPU与CPU。Edgeboard的表现还是令我比较惊喜。本来想继续移植一个前段时间的大尺度的分割网络Unet进行尝试,想继续试试他最大可以跑的模型大小,但似乎Edgeboard目前还不支持分割,存在了一定遗憾。

另外我在进行调试的时候,发现过有几个发布版本的固件不是很稳定,有些op有些问题。还发现了Edgeboard在我的两台笔记本电脑上网络不是很稳定,经常出现相互无法ping通的情况,更换PC后正常,暂时还没发现为什么。

Edgeboard是我第一款接触的嵌入式神经网络加速设备。Paddle-mobile也是我接触的第一个移动端神经网络框架,也是我接触的第一个基于FPGA实现的加速框架。从我了解这个框架到现在仅仅不到半年的时间,已经发布了多个模型转换工具,降低了开发难度,并且支持EasyDL这种方式。虽然目前仍然有一些不成熟的坑需要填,不过相信在软件的迭代下面,它能成为一个很好的嵌入式原型设计平台。

收藏
点赞
4
个赞
共8条回复 最后由用户已被禁言回复于2023-09
#9用户已被禁言回复于2023-09

iuouiouiouio

0
#8appleyuchi回复于2020-09
#4 jaytan_hp回复
EdgeBoard不能用于模型训练的!

好的,谢谢,我后来知道是加速推理的作用了。

0
#7衡北擎苍回复于2020-08

单看推理预测性价比也很高哇,打算入手一个试试

0
#6衡北擎苍回复于2020-08

EdgeBoard是推理硬件

0
#5luckyToMe2回复于2020-01

看看

1
#4jaytan_hp回复于2019-11

EdgeBoard不能用于模型训练的!

2
#3appleyuchi回复于2019-09

您的文章表达的是能加速模型预测,

但是请问模型训练的时间是多久呢?

是否只能用于模型预测加速,而不能用于模型训练加速呢?

感谢

0
#2appleyuchi回复于2019-09

想问下训练时间多久,谢谢

0
TOP
切换版块