[原创] 在树莓派3上使用微软ELL嵌入式学习库(5)

转载需注明出处:https://www.codelast.com/

OS: Arch Linux ARM
ELL:写本文时GitHub中的最新版
TensorFLow: v1.1.0

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
在之前的文章中,我大费周章,终于在树莓派上把ELL的demo跑起来了,但它实用吗?在本文中,我将简单地测试一下使用Darknet model的inference速度和精度。… Read More

[原创] ELL(Embedded Learning Library,微软嵌入式学习库)文章合集

转载需注明出处:https://www.codelast.com/

微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库),旨在把部分云端的机器学习计算转移到嵌入式设备上进行。
本系列文章记录了在树莓派3代上把ELL demo跑起来的过程中遇到的各种问题以及解决办法。

➤ 在树莓派3上使用微软ELL嵌入式学习库(1)

➤ 在树莓派3上使用微软ELL嵌入式学习库(2)

➤ 在树莓派3上使用微软ELL嵌入式学习库(3)

➤ 在树莓派3上使用微软ELL嵌入式学习库(4)

➤ 在树莓派3上使用微软ELL嵌入式学习库(5)Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(4)

转载需注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
为了在树莓派上跑起来ELL的demo,需要先在PC上做大量工作,前几篇文章正是记录了这个过程中遇到的种种问题。
从本文开始,我们终于可以把工作转到树莓派上了——不枉前面克服的所有困难,这一刻,我们离成功是如此之近。
注:本文的所有操作,都是在树莓派上运行的。Read More

[原创] 在树莓派3上跑ELL的demo报错:ImportError: build/_darknetReference.so: undefined symbol: cblas_sgemm

转载需注明出处:https://www.codelast.com/

OS:Arch Linux ARM
gcc version:7.1.1 20170516 (GCC)

微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
本文主要介绍了在树莓派上跑ELL的demo程序时,遇到的一个“undefined symbol: cblas_sgemm”问题的解决办法。… Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(3)

转载需注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
在前几篇文章中,我在Ubuntu PC上对ELL里现成可用的model进行了测试,虽然由于我台式机太老旧的原因,运行速度相当之慢,不过它终究跑通了demo,下一步,我们需要在台式机上,把ELL的model编译到目标平台上——在这里,目标平台指的就是树莓派3。
注:本文的所有操作,都是在台式机上运行的。Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(2)

转载需注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
要在树莓派上使用pre-trained的模型,我们先要在PC上对其进行测试,这个测试说白了就是运行一些Python的demo程序看它们是否能正常工作。而上一篇文章,正是介绍了在Ubuntu PC上的准备工作——如果没有那些准备工作,你连测试的基础条件都不具备。
注:本文的所有操作,都是在台式机上运行的。Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(1)

转载需注明出处:https://www.codelast.com/

微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。由于嵌入式设备的计算能力较弱,因此在这些设备上执行一些机器学习的任务——例如实时图像分类——通常速度很慢,所以在这种应用场景下,一般的策略是把请求发送到计算能力强大的云端服务器上去执行,嵌入式设备只作为和用户交互的终端,并不执行关键的计算任务。而微软发布的这个ELL,目标在于把云端的计算任务转移到嵌入式设备上,从而可以使得设备无需联网也能执行这些任务。这个目标看起来很诱人,但它要求ELL的计算速度很快、很节省资源,否则耗时将是不可接受的。… Read More

[原创] 执行ELL的demo程序cntkDemo.py时程序僵死的问题

转载需注明出处:https://www.codelast.com/

OS:Ubuntu 14.04

在台式机上执行ELL的demo程序 cntkDemo.py 时,可能会遇到程序僵死的问题。
cntkDemo.py 这个程序会调用OpenCV,在一个GUI窗口中显示USB摄像头拍摄的实时视频流,而僵死的现象正是:执行到弹出GUI窗口显示摄像头拍摄的视频流的代码的时候,程序进入僵死状态,不能执行后续逻辑。此时,只能Ctrl+C终止掉程序。… Read More

[原创] 在Ubuntu上使用GParted来调整树莓派TF卡的分区大小

转载请注明出处:https://www.codelast.com/

OS:Ubuntu 14.04 LTS

树莓派的操作系统存储在一张TF卡中,如果我们要备份它,只需要简单地在Ubuntu上使用如下命令即可:

sudo dd if=/dev/sdb of=~/raspberry_pi_os_backup

其中,/dev/sdb 是我的TF卡的设备名称。这样我们就可以把TF卡备份到 raspberry_pi_os_backup 这个文件中了。… Read More

[原创] 在Ubuntu 14.04中安装gcc 6

转载请注明出处:https://www.codelast.com/

成功编译ELL对gcc版本有要求,这而这一点在ELL的文档中并没有写。
gcc版本太低了是不行的,那么什么算版本低?反正我的gcc 4.8.4是不work的——使用低版本的gcc,你也可以照着文档完成很多步骤,但是到最后某一步,一定会遇到由于gcc版本低导致的问题,并且还没有直观的错误提示,查找问题源头可能会浪费你很多时间。… Read More

[原创] 升级Ubuntu 14.04上的Open MPI到 libmpi.so.12 版本

转载请注明出处:https://www.codelast.com/

好好的为什么要折腾这个事?说来也是郁闷,在测试ELL的过程中,遇到了一个Open MPI package依赖的问题,它要用到 libmpi.so.12 这个动态链接库对应版本的Open MPI,而Ubuntu 14.04系统上,用 apt-get install libopenmpi-dev 安装上的是很旧的版本,因此只能升级系统里已经安装的Open MPI了。… Read More