TensorFlow是谷歌的神经网络库。鉴于机器学习是目前最热门的事情,谷歌在这项新技术中处于领先地位也不足为奇。
在本文中,您将学习如何在Raspberry Pi上安装TensorFlow,并在预先训练的神经网络上运行简单的图像分类。
要开始使用图像识别,您需要一个Raspberry Pi(任何型号都可以)和一个带有Raspbian Stretch(9.0+)操作系统的SD卡(如果您是Raspberry Pi的新手,请使用我们的安装指南)。
启动Pi并打开终端窗口。确保Pi是最新的,并检查Python版本。
sudo apt-get updatepython --versionpython3 --version在本教程中,您可以同时使用python2.7或python3.4+。这个例子是针对python3的。对于Python2.7,在本教程中用Python替换Python3,用pip替换pip3。
Pip是Python的包管理器,通常作为标准安装在Linux发行版上。
如果您发现没有,请按照本文中的install for Linux说明进行安装。
安装TensorFlow过去是一个非常令人沮丧的过程,但是最近的更新使它变得非常简单。虽然您可以在没有任何先前知识的情况下遵循本教程,但在尝试之前,可能需要了解机器学习的基本知识。
在安装TensorFlow之前,请先安装Atlas库。
sudo apt install libatlas-base-dev完成后,通过pip3安装TensorFlow
pip3 install --user tensorflow这将为登录用户安装TensorFlow。如果您喜欢使用虚拟环境,请在此处修改代码以反映这一点。
一旦安装好,您就可以测试它是否与TensorFlow相当于一个Hello,world!
从命令行使用nano或vim创建一个新的Python脚本(如果您不确定要使用哪一个,它们都有优点),并将其命名为易于记住的名称。
sudo nano tftest.py输入此代码,由Google提供,用于测试TensorFlow:
import tensorflow as tfhello = tf.c***tant('Hello, TensorFlow!')sess = tf.Session()print(sess.run(hello))如果您使用的是nano,请按Ctrl+X退出,并在提示时键入Y保存文件。
从终端运行代码:
python3 tftest.py你应该看到“你好,TensorFlow”打印出来。
如果您运行的是python3.5,则会收到几个运行时警告。官方的TensorFlow教程承认会发生这种情况,建议您忽略它。
真管用!现在做一些有趣的关于张量流的事情。
在终端中,在主目录中为项目创建一个目录并导航到其中。
mkdir tf1cd tf1TensorFlow有一个git存储库,其中有一些示例模型可供尝试。将存储库克隆到新目录:
git clone https://github.com/tensorflow/models.git您希望使用图像分类示例,可以在模型/教程/图像/imagenet中找到。立即导航到该文件夹:
cd models/tutorials/image/imagenet标准图像分类脚本与提供的熊猫图像一起运行:
要使用提供的panda图像运行标准图像分类器,请输入:
python3 classify_image.py这将熊猫的图像输入到神经网络中,神经网络返回对图像内容的猜测,并给出其确定程度的值。
如输出图像所示,神经网络猜测正确,几乎有90%的把握。它还认为图片中可能包含一个奶油冻苹果,但它对这个答案不是很有信心。
熊猫图片证明了TensorFlow的工作原理,但考虑到该项目提供的例子,这也许并不奇怪。为了更好的测试,你可以把自己的图像交给神经网络进行分类。
在本例中,您将看到TensorFlow神经网络是否可以识别George。
见见乔治。乔治是一只恐龙。要将此图像(此处以裁剪形式提供)输入神经网络,请在运行脚本时添加参数。
python3 classify_image.py --image_file=/home/pi/george.jpgimage_ufile=在脚本名称之后允许按路径添加任何图像。让我们看看这个神经网络是怎么做的。
不错!虽然乔治不是一只三角龙,但与其他选项相比,神经网络将这张图片归类为恐龙,具有高度的确定性。
TensorFlow的这个基本实现已经有了潜力。这种物体识别是在Pi上进行的,不需要连接internet就可以正常工作。这意味着,随着一个覆盆子Pi相机模块和覆盆子Pi合适的电池单元,整个项目可以变得便携。
大多数教程只触及一个主题的表面,但它从来没有比在这种情况下更真实。机器学习是一门极其密集的学科。
让你的知识更进一步的一种方法是参加专门的课程。同时,用这些TensorFlow项目来实践机器学习和Raspberry Pi,你可以自己尝试。
与其将Raspberry Pi**电视,或通过SSH连接(或通过VNC或RDP进行远程桌面连接),您可能会选择购买Raspberry Pi触摸屏显示器。 ...
树莓圆周率的轻,紧凑的特性意味着,当与流行的相机模块和便携式电池配对,它可以作为一个秘密相机使用。考虑到这一点,我最近拍摄了五个惊人的延时视频。你也可以。 ...
树莓圆周率是一个伟大的,多功能的一块工具包,项目的多样性,如经营一个媒体中心作为广播电台使用的能力。但它有一个明显的缺陷:无法从USB启动。 ...
用覆盆子皮是非常有趣的。有这么多项目要选,50美元的电脑会让你忙上几个月。但是建立树莓皮皮可能会很费时。 ...
尽管Raspberry-Pi有很多操作系统可用,但您可能更愿意使用基于Linux的操作系统。但缺少触摸屏支持又如何呢? ...
...发板是一个SBC,带有谷歌定制的Mendel操作系统,设计用于TensorFlow Lite神经网络。它还具有全面的通用输入/输出(GPIO)引脚。考虑到它的外观和大小,您可能认为这是另一个覆盆子皮克隆,但有一些重要的区别。 ...
需要在商店橱窗里播放视频吗?想向参观者展示你学校或教堂的设施吗?也许你想分享一段宣传视频?不管是哪种情况,你都不需要安装一台PC来播放,甚至不需要通过超长的HDMI电缆来传输。 ...
你需要一个媒体中心解决方案,而且你听说过Kodi。它合适吗?你能把它安装在你的树莓皮上吗?一旦你做到了,你如何把它变成一个世界一流的家庭媒体中心?我们会教你怎么做。 ...