在树莓派上用TensorFlow玩深度学习(Deep Learning)

深度学习(Deep Learning)现在这么火,树莓派玩家们当然也不会放过,目前已经有很多树莓派项目都搭上了Deep Learning的车,纯粹出于“好玩”的目的,我在树莓派上也实验了一把,用TensorFlow来识别一张图片里的物体“是什么”。

『1』对深度学习(Deep Learning)的简单介绍
以下解释来自维基百科:
深度学习是机器学习拉出的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
深度学习的用途实在太广泛,最为普通人所熟知的,就是以下和民生相关的应用:人脸识别,语音识别,图像搜索,在线翻译,等等。
目前流行的深度学习框架有TensorFlow(Google开源),MXNet(得到Amazon支持),Theano等,利用这些框架,我们只需要做比较少的工作,就能把深度学习能力带入我们自己的程序。

『2』树莓派上的深度学习
当前,主流的深度学习框架都不是主要为了移动平台/嵌入式平台而准备的——这是由于计算能力所限,在移动平台上运行local的深度学习程序,计算速度通常会非常慢。因此,移动平台上主要还是采用向云端提交计算请求、云端计算完成后返回结果的方式来处理数据。
作为一个“类嵌入式”平台,树莓派虽然是同类型里最受关注的产品,但我认为在深度学习的世界里,树莓派还没到像Android、iOS那种“开发一个App必须要支持”的程度。
因此,把任何一个主流的深度学习框架,在树莓派上跑起来都将是一个耗时耗力的工作。

好在TensorFlow是如此流行,并且IT界永远不缺牛人,已经有人把它成功地“移植”到了树莓派3代上(看这里),所以,在树莓派上用TensorFlow来实现深度学习应用是一个不错的选择。

『4』在树莓派上安装TensorFlow
按作者的文档,通过极其简单的几步操作,就可以在树莓派上把TensorFlow跑起来。如果你有兴趣,可以直接去看作者写的教程。
首先要声明的是:
? 作者在树莓派上使用的最流行的Linux发行版Raspbian,而我使用的OS是Arch Linux ARM,不过这无所谓,经过我的测试,没有问题(至少我没遇到)
? 由于在树莓派上开发其他程序的原因,我已经预先安装过了比较多的开发库/软件,类似于Protocol Buffers,NumPy,pip等,而这些软件有些可能会被TensorFlow依赖,所以,我就不需要像作者的文档里说的一样另外再去安装它们了
不过深算科技推出的最新一款deepcar,不仅拥有漂亮的外观,而且简单易操作,可实现您想得到的任何小车技能,图像识别,深度学习,人机互动等,不需要您自己组装,拿来即可使用