OS: Arch Linux ARM
ELL:写本文时GitHub中的最新版
TensorFLow: v1.1.0
本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELL(Embedded Learning Library,嵌入式学习库)。
在之前的文章中,我大费周章,终于在树莓派上把ELL的demo跑起来了,但它实用吗?在本文中,我将简单地测试一下使用Darknet model的inference速度和精度。
『1』对比对象
我之前在树莓派上安装过了TensorFlow on Raspberry Pi(Inception v3 model),估计不会有哪个framework能比它更容易部署在树莓派上了——几乎是弹指一挥间就可以完成的零成本工作。所以我就拿它来和ELL进行简单的对比。
文章来源:https://www.codelast.com/
『2』测试数据
我随便找了10张常见物体的图片来做测试。有人会说这么少的样本量能说明什么问题?首先我只想简单快速地测试一下ELL的效果,其次我也没有时间去做严谨的测试。
下面是10张图片,序号依次从1~10:
『3』测试结果
- 速度
用图片的平均inference时间来计算速度。Tensorflow的model需要预热,我们在预热之后才开始真正算inference时间。同理,ELL的model加载时间也不计算在内。
文章来源:https://www.codelast.com/
可见,ELL+Darknet model在速度上有明显优势。
- 精度
结果有点失望。按输出中概率最大的那个分类来算,ELL使用Darknet model在10张图片上的inference结果非常糟糕,根据人工判断,5张图片分类明显错误,其余5张算是正确——这就有点尴尬了。而相比之下,TensorFlow使用Inception v3 model的情况则好得多,除了一张分类错误,其余9张基本上都算是得出了“比较正确”的结论。
下面是详细的测试结果:
文章来源:https://www.codelast.com/
即使inference速度再快,如此糟糕的准确度也是完全不能接受的。所以,我觉得,要改变这个结果,恐怕我只能用ELL CNTK VGG model再测试一遍了。正如我前面的文章所说,由于我的Ubuntu台式机性能低下,因此,我在台式机上编译ELL CNTK VGG model代码的时候,由于编译任务占用太多OS资源,被kernel自动kill掉了。不得已,我只能使用轻量级的Darknet model。所以在我当前条件下,暂时只能到这里为止了。
『4』结论
在ELL+Darknet model的速度确实比较快,但由于精度低的问题,ELL+Darknet model还需改进提高。
文章来源:https://www.codelast.com/
➤➤ 版权声明 ➤➤
转载需注明出处:codelast.com
感谢关注我的微信公众号(微信扫一扫):