从零开始:在树莓派上构建tensorflow——详细至极

==前言==:本人现在也是一头雾水,忙活了一天终于把环境装好了,闲来无事,突发奇想,总结一下经验,让后人少走弯路
T-T

1.树莓派的相关准备

已经装完系统的树莓派一个,本人用的官方2017-09-07-raspbian-stretch,sd卡最好16G以上,网速较好
为了方便最好把树莓派连上显示屏,没有的可以用Windows自带远程桌面连接【具体方法请看从零(一)】
==你要有一个github账号,大神必备==

2.开始安装

 **tensorflow的安装共有两种方法**
 1)pip 法,抱着SamAbrahams的大腿就是好,不过烦心事也不少,本人采用的就是这种方法;
 2)源代码安装法
 这种方法比较难,下面连接里有英文的介绍,不过听过来人一句劝,还是用pip吧。
 [大佬的git](https://github.com/samjabrahams/tensorflow-on-raspberry-pi)
【大佬的github如果本文没解决你的问题可以从这里寻找灵感,不过是纯英文的哦(⊙o⊙)?】
==pip法==(版本号根据情况自己改)
1)首先安装tensorflow需要的一些依赖和工具。
sudo apt-get update

# For Python 2.7
sudo apt-get install python-pip python-dev

# For Python 3.3+
sudo apt-get install python3-pip python3-dev
2)下载安装tensorflow,==注意,划重点了==
方法一:
# For Python 2.7
wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl
sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl

# For Python 3.4
wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl
sudo pip3 install tensorflow-1.1.0-cp34-cp34m-linux_armv7l.whl

尝试以下,如果你的网够好,或者会翻墙,那么你就轻松不少,下面一大段都可以跳过去了(好羡慕ToT),如果你发现自己下载失败,就可以尝试一下下面的歪门邪道了。

方法二:(我才没有幸灾乐祸?雾)

首先复制这个网址,就是上面的下载地址

https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.1.0/tensorflow-1.1.0-cp27-none-linux_armv7l.whl

你可以先尝试用浏览器下载,如果失败,那就把网址用手机浏览器打开,我用的百度浏览器,访问该地址自动下载,转眼间下好,再把文件发送给电脑。如果这也失败,出门右转,不送:)。这是无意间找到的邪道,没想到还挺好用。

==接下来==,便是把下载的文件【tensorflow-1.1.0-cp27-none-linux_armv7l.whl】发送给树莓派,我是用的是==Filezilla==软件,安利一下。使用方法很简单,不会就百度一下。把文件随便放在一个地方,然后安装,方法同上。

sudo pip install tensorflow-1.1.0-cp27-none-linux_armv7l.whl

如果你成功了,那么恭喜你,你离成功又进了一步,如果失败那么就无能为力了TT。

3)卸载,重装mock,我也不知道为什么,不过照着做准没错。
# For Python 2.7
sudo pip uninstall mock
sudo pip install mock

# For Python 3.3+
sudo pip3 uninstall mock
sudo pip3 install mock
4)来一个小测试,识别国宝大熊猫

我们可以查看Tensorflow的文件目录:/usr/local/lib/python2.7/dist-packages/tensorflow,在该目录的models/image/imagenet目录下,存放了用于图像识别的代码classify_image.py。

==问题又来了==

如果你和我安装的一样是tensorflowv1.1.0,你会发现你没有models,更别说classify_image.py了。因为1.0版本以后models就被SamAbrahams大佬独立出来了,不在放在一个压缩包里了,那我们去哪找呢? 当然是大佬的git了
link,classify_image.py就在models/tutorials/image/imagenet/里。抱歉不知道怎样下载git里的单个文件,也为了以防万一,我把整个models都clone()到了自己的电脑里,然后用filezilla传到树莓派上。

完成上面的准备工作后,我们就可以进入下一个步骤。
首先我们在/home/pi目录下建立一个目录用于测试,如tensorflow_test。
然后,我们在该目录/home/pi/tensorflow_test下使用python来运行该代码:
python /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py。
执行上述指令下,程序自动下载Tensorflow深度学习图像识别库:inception-2015-12-05.tgz。另外,也可以手动下载该图像识别库文件:
wget http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz
最后,我们用指令tar解压该图像识别库:tar xf inception-2015-12-05.tgz。解压后,可以看到目录下存放了一张实例图片cropped_panda.jpg。识别它。

python /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py –-image_file cropped_panda.jpg。

其中,–image_file 后是待识别的图片的路径。
回车,等待几秒钟,显示:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

该识别的结果:图片是==大熊猫的概率是89%==
图片是大弧猴的概率是0.7%

          == !!! 成功了!!!==

再见,希望本文对你有所帮助。

### 回答1: 您好,关于在树莓派上使用tensorflowlite实现表情识别,您可以按照以下步骤进行操作: 1.在树莓派上安装tensorflowlite库。 2.使用训练好的模型,将其转换为tensorflowlite格式。您可以在PC上训练一个表情识别模型,然后将其转换为tensorflowlite格式,再将转换后的模型复制到树莓派上。 3.在树莓派上使用python编写识别程序,读取摄像头捕获的实时视频流,对每一帧图像进行预处理,并将其输入到tensorflowlite模型中进行推理,最终输出表情识别结果。 需要注意的是,表情识别模型的准确度与训练数据集的质量和数量有很大关系,因此您需要选择一个合适的数据集来训练模型。同时,树莓派的硬件资源相对有限,需要选择适合树莓派的模型进行推理。 ### 回答2: 要在树莓派上使用TensorFlow Lite实现表情识别,可以按照以下步骤进行: 1. 准备树莓派:首先,确保你的树莓派已经连接了摄像头,并且已经安装了Raspbian操作系统。 2. 安装TensorFlow Lite:在树莓派上安装TensorFlow Lite库。可以通过在终端中运行以下命令来安装: ``` pip install tensorflow ``` 3. 准备训练数据:使用已有的表情数据集或者自己创建一个表情数据集。数据集应包含不同表情的图像样本,并为每个图像样本标注正确的表情类别。 4. 训练模型:使用TensorFlow来训练一个表情识别模型。可以选择一种适合的深度学习架构(如卷积神经网络)来构建模型,并使用数据集进行训练。可以使用Python编写训练脚本,并在树莓派上运行。 5. 转换模型为TensorFlow Lite格式:将训练好的TensorFlow模型转换为TensorFlow Lite格式,以便在树莓派上进行推断。可以使用TensorFlow提供的工具来进行模型转换。 6. 在树莓派上运行推断:将转换后的模型部署到树莓派上,使用树莓派的摄像头捕捉实时图像,并将图像传输到模型中进行表情识别。你可以使用Python编写一个程序,通过TensorFlow Lite库来实现图像的预处理和模型推断,从而实现表情识别的功能。 通过以上步骤,就可以在树莓派上使用TensorFlow Lite实现表情识别。树莓派具有较低的功耗和便携性,非常适合用于嵌入式和物联网设备中的表情识别应用。 ### 回答3: 在树莓派上使用TensorFlow Lite实现表情识别可以按照以下步骤进行: 1. 准备数据集:收集一些包含各种表情的图片作为训练数据,可以使用人脸表情数据集如FER2013等。 2. 安装TensorFlow Lite:在树莓派上安装TensorFlow Lite库,可以使用pip或者从源代码编译安装。 3. 模型训练:使用收集的数据集进行模型训练。可以选择使用预训练的模型(如MobileNet)并进行微调,或自行设计卷积神经网络结构。利用TensorFlow的模型训练工具,如Keras等,训练一个适用于表情识别的模型。 4. 模型转换:使用TensorFlow Lite的转换工具将训练好的模型转换为TensorFlow Lite模型,以优化在嵌入式设备上的运行。 5. 集成模型到树莓派:将转换好的TensorFlow Lite模型加载到树莓派上,可以使用TensorFlow Lite的Python API来加载模型,并且在摄像头捕获的图像上运行表情识别。 6. 图像处理和预测:获取树莓派摄像头捕获的实时图像,并进行图像预处理,例如人脸检测和裁剪。 7. 运行模型进行预测:将预处理后的人脸图像输入到TensorFlow Lite模型中,进行表情识别预测。根据模型输出的概率分布或类别标签,判断出当前图像的表情。 8. 可视化或输出结果:将表情识别的结果进行可视化展示,可以在树莓派本地显示或通过网络传输至其他设备。 总结:以上是在树莓派上使用TensorFlow Lite实现表情识别的基本步骤,主要包括数据准备、模型训练、模型转换、模型集成、图像处理和预测等过程。通过这些步骤可以在树莓派上实现实时的表情识别功能。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值