分类
DIY 树莓派 硬件

树莓派安装TensorFlow教程!树莓派安装TensorFlow2.0!超详细!

本文首发于我的编程之路,文章链接:https://www.wangliguang.cn/?p=401,未经允许禁止商业网站转载,如需转载请联系作者。个人基于技术学习目的转载和分享本文时无需许可,但必须指明本文作者和原文链接并保留本段文字,否则禁止转载。

1 背景

给树莓派安装一个TensorFlow吧!网上很多教程陈旧且有错误。本文经过作者大量查阅资料和TensorFlow官网,并亲自测试安装成功!
硬件准备:树莓派3B+
操作系统:Raspberry Pi OS 2020年5月版

2 操作方法

1、树莓派系统切换国内镜像。
树莓派系统切换国内镜像请参考此文:https://www.wangliguang.cn/?p=394

2、检查环境是否已经安装。

python3 --version
pip3 --version
virtualenv --version

如果某一条命令运行时提示未找到,则未安装,需要在第三步中选择相应命令安装。

3、安装未安装的模块,根据第2步,从下面命令中按需选择即可,其中安装libatlas-base-dev的命令必选

sudo apt update
sudo apt install python3-dev python3-pip  # 如已经安装了Python3和pip3则跳过此命令
sudo apt instal libatlas-base-dev  # 此命令必选,注意!!!
sudo pip3 install -U virtualenv  # 如果已经安装了虚拟环境,跳过此命令

4、创建虚拟环境。

virtualenv --system-site-packages -p python3 ./venv

5、激活虚拟环境。

source ./venv/bin/activate

6、pip切换国内源。
为防止网速过慢,建议pip也切换国内源。此处选择清华源。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

7、更新pip。

pip install --upgrade pip

8、安装依赖包

pip install keras_applications==1.0.8 --no-deps
pip install keras_preprocessing==1.1.0 --no-deps
pip install h5py==2.9.0
pip install -U six wheel mock

在安装依赖包时,有的包清华源有,安装速度很快。有的包清华源没有,会到默认源去下载,会很慢甚至超时失败。如遇超时失败需要重试。

9、下载TensorFlow2.0。
下载链接: https://github.com/lhelontra/tensorflow-on-arm/releases
推荐tensorflow-2.0.0-cp37-none-linux_armv7l.whl这个版本,因为我安装这个版本成功了。
如果速度过慢,可以直接百度tensorflow-2.0.0-cp37-none-linux_armv7l.whl,有很多国内资源站有这个。
下载后,通过Xftp传到树莓派上。

10、安装TensorFlow。进入到tensorflow-2.0.0-cp37-none-linux_armv7l.whl所在目录,输入以下命令,等待安装完成。

pip install tensorflow-2.0.0-cp37-none-linux_armv7l.whl

11、测试安装结果。
输入如下命令:

python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

如输出tf.Tensor(1035.3678, shape=(), dtype=float32)则表示安装成功!

用完后,可以使用deactivate退出虚拟环境。

12、安装失败后的处理。
如果安装失败,可以重试。此时使用rm -r venv/删除安装失败的TensorFlow所在虚拟环境,即可从第4步开始重试。

注意,从第5步开始,一直处于虚拟环境哦。

3 支持作者

写文章不易,如果这篇文章有帮到你,希望你能给予一定赞赏。您可以通过当前网站或App的赞赏渠道支持,或者点击此处支持作者

分类
树莓派

树莓派如何使用国内镜像-树莓派切换国内镜像-树莓派采用清华源-树莓派3B+切换国内镜像

本文首发于我的编程之路,文章链接:https://www.wangliguang.cn/?p=394,未经允许禁止商业网站转载,如需转载请联系作者。个人基于技术学习目的转载和分享本文时无需许可,但必须指明作者和原文链接并保留本段文字。

1 背景

树莓派apt-get install的时候,使用国外的镜像,不仅速度非常慢,而且经常容易出现所谓的Timeout,导致安装失败。
目前网上的教程有很多,但都具有陈旧的特点,部分教程甚至有错误。而且不区分树莓派系统版本不同,很容易出错。
为此,我参考了网上的大量资料以及官方教程,本文就来记录经测试有效的方法。
本文选用清华大学镜像。
本文针对的是当前最新的(2020.7.11)树莓派官方系统Rasberry Pi OS 2020年5月份的版本。

2 操作方法

1、确认系统版本(重要)
本文针对的是当前最新的(2020.7.11,如果你在本日期后下载的系统,应该不会旧于此版本)树莓派官方系统Rasberry Pi OS 2020年5月份的版本。该版本的系统基于Debian 10(buster)。
2、备份原来的文件。使用cp命令备份/etc/apt/sources.list 文件和/etc/apt/sources.list.d/raspi.list 文件。输入以下命令:

cp /etc/apt/sources.list /etc/apt/sources.list.bak
cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

3、编辑 /etc/apt/sources.list 文件。
使用如下命令:

nano /etc/apt/sources.list

删掉原有内容,输入以下内容。

deb http://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberry-pi-os/raspbian/ buster main non-free contrib rpi

按下Ctrl+O进行保存,然后按Enter键,最后按Ctrl+X退出。
4、编辑 /etc/apt/sources.list.d/raspi.list 文件。
使用如下命令:

nano /etc/apt/sources.list.d/raspi.list

删掉原有内容,输入以下内容。

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui

按下Ctrl+O进行保存,然后按Enter键,最后按Ctrl+X退出。
5、完成后,输入命令sudo apt-get update更新软件源列表。至此,换源工作完成。

3 支持作者

写文章不易,如果这篇文章有帮到你,希望你能给予一定赞赏。您可以通过当前网站或App的赞赏渠道支持,或者点击此处支持作者

分类
Python

解决not a supported wheel on this platform-解决pip has no attribute pep425tags-解决网上旧教程不适用

背景

今天在给树莓配安装tensorflow的使用,提示tensorflow-2.0.0-cp37-none-linux_armv7l.whl is not a supported wheel on this platform。
出现这个问题,是由于这个whl和系统python版本不匹配导致的,并介绍了如何查看当前python支持的版本。
然而,网上的教程非常老旧,按照网上教程操作后,会提示pip has no attribute pep425tags。经过我多次搜集资料和尝试,总算找到的在pip 20.0等版本上可用的命令!

1 已知无效的命令

首先列举在较新版本的pip中无效的命令。如果在较新版本的pip中使用这些命令,将会提示pip has no attribute pep425tags
无效旧教程一:

import pip
print(pip.pep425tags.get_supported())

无效旧教程二:

import pip._internal
print(pip._internal.pep425tags.get_supported())

上面为目前网上大量充斥的教程,这些均为旧版pip的教程并不适用于pip 20.0甚至临近版本
使用上述旧教程,会得到pip has no attribute pep425tags。如下图所示。

在此,经过博主大量搜集资料和尝试,终于找到了在pip 20.0版本上可用的方法。

2 经测试有效的命令

我们可以通过下面这个经过测试有效的命令,来查看当前Python版本匹配那些文件。
有效命令:

pip debug --verbose

输入这个命令后,会输出大量信息:

pip version: pip 20.1.1 from /home/pi/Softwares/venv3/lib/python3.7/site-packages/pip (python 3.7)
sys.version: 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0]
sys.executable: /home/pi/Softwares/venv3/bin/python
sys.getdefaultencoding: utf-8
sys.getfilesystemencoding: utf-8
locale.getpreferredencoding: UTF-8
sys.platform: linux
sys.implementation:
name: cpython
‘cert’ config value: global
REQUESTS_CA_BUNDLE: None
CURL_CA_BUNDLE: None
pip._vendor.certifi.where(): /home/pi/Softwares/venv3/lib/python3.7/site-packages/pip/_vendor/certifi/cacert.pem
pip._vendor.DEBUNDLED: False
vendored library versions:
appdirs==1.4.3
CacheControl==0.12.6
colorama==0.4.3
contextlib2==0.6.0.post1 (Unable to locate actual module version, using vendor.txt specified version)
distlib==0.3.0
distro==1.5.0 (Unable to locate actual module version, using vendor.txt specified version)
html5lib==1.0.1
ipaddress==1.0.23
msgpack==1.0.0 (Unable to locate actual module version, using vendor.txt specified version)
packaging==20.3
pep517==0.8.2
progress==1.5
pyparsing==2.4.7
requests==2.23.0
certifi==2020.04.05.1
chardet==3.0.4
idna==2.9
urllib3==1.25.8
resolvelib==0.3.0
retrying==1.3.3 (Unable to locate actual module version, using vendor.txt specified version)
setuptools==44.0.0 (Unable to locate actual module version, using vendor.txt specified version)
six==1.14.0
toml==0.10.0
webencodings==0.5.1 (Unable to locate actual module version, using vendor.txt specified version)
Compatible tags: 44
cp37-cp37m-manylinux2014_armv7l
cp37-cp37m-linux_armv7l
cp37-abi3-manylinux2014_armv7l
cp37-abi3-linux_armv7l
cp37-none-manylinux2014_armv7l
cp37-none-linux_armv7l
cp36-abi3-manylinux2014_armv7l
cp36-abi3-linux_armv7l
cp35-abi3-manylinux2014_armv7l
cp35-abi3-linux_armv7l
cp34-abi3-manylinux2014_armv7l
cp34-abi3-linux_armv7l
cp33-abi3-manylinux2014_armv7l
cp33-abi3-linux_armv7l
cp32-abi3-manylinux2014_armv7l
cp32-abi3-linux_armv7l
py37-none-manylinux2014_armv7l
py37-none-linux_armv7l
py3-none-manylinux2014_armv7l
py3-none-linux_armv7l
py36-none-manylinux2014_armv7l
py36-none-linux_armv7l
py35-none-manylinux2014_armv7l
py35-none-linux_armv7l
py34-none-manylinux2014_armv7l
py34-none-linux_armv7l
py33-none-manylinux2014_armv7l
py33-none-linux_armv7l
py32-none-manylinux2014_armv7l
py32-none-linux_armv7l
py31-none-manylinux2014_armv7l
py31-none-linux_armv7l
py30-none-manylinux2014_armv7l
py30-none-linux_armv7l
cp37-none-any
py37-none-any
py3-none-any
py36-none-any
py35-none-any
py34-none-any
py33-none-any
py32-none-any
py31-none-any
py30-none-any

从中我们可以看到Compatible tags字样,这些就是当前Python版本可以适配的标签。

3 注意

之前旧版本的无效命令是Python命令,而此次有效命令则是pip命令,直接在命令行中输入,不要在Python解释器中输入哦

分类
DIY 硬件

树莓派摄像头安装教程!超详细!

1 所需硬件

树莓派3B+、CSI摄像头及排线。

2 安装支架(可选)

如果在购买摄像头的时候同时购买了摄像头支架,可以查看本文第六节提供的视频教程进行安装。视频前4分35秒为支架安装指导。

3 将摄像头安装到树莓派上

首先,查看排线最底部,会发现一面有蓝色胶带,另一面有纹路。
蓝色胶带一面:
有蓝色胶带一面

纹路一面:
有纹路一面

将蓝色胶带一面朝向网线接口,有纹路一面朝向HDMI接口,插入到CSI接口中。如示意图所示:
示意图

其中,蓝圈1表示网线接口,蓝圈2表示HDMI接口,中间红圈表示CSI接口

4 树莓派打开摄像头模块

1、输入下面命令进入设置
sudo raspi-config

2、在菜单中选择第5项,如图所示。
选择camera

3、选择camera,进去后选择OK。然后系统可能会重启。
选择第5项

5 拍照

输入如下命令即可进行拍照:
sudo raspistill -o 文件名.jpg

拍照命令

在拍照时,摄像头右上角的红色指示灯会被点亮,如图所示:
红色指示灯点亮

如果要查看照片,可以通过Xftp等软件,将照片传到自己电脑上,即可查看了。

6 视频教程

文字教程不尽详细,如果想要查看一步步操作视频,请访问如下链接直接查看视频教程:
【树莓派】树莓派摄像头安装教程!超详细!

支持作者

写文章不易,希望您能给予我们一些支持。点击链接支持作者!

分类
DIY 硬件

树莓派如何第一次启动-树莓派从购买到启动一步一步完全版!

背景

闲来无事,在咸鱼上买了一个树莓派3B+。买来配件都十分齐全,于是就想着启动来测试一下。下面是树莓派第一次启动的全过程,包含安装系统。

1 准备工作

1.1所需硬件

笔记本电脑、树莓派3B+、16GTF卡、读卡器、电源和电源线共四种。
无需准备HDMI线以及显示屏。

1.2所需软件

(1)树莓派官方系统镜像
下载地址:https://www.raspberrypi.org/downloads/raspberry-pi-os/
选择Raspberry Pi OS with desktop即可。
(2)SD卡/TF卡格式化软件SDFormatter
下载地址:https://www.sdcard.org/downloads/formatter/
(3)镜像写入软件win32diskimager-1.0.0-install
下载地址:https://sourceforge.net/projects/win32diskimager/
(4)网络IP地址扫描工具Advanced IP Scanner
下载地址:https://www.advanced-ip-scanner.com/cn/
(5)远程连接软件Xshell
下载地址:https://www.netsarang.com/zh/xshell/
(6)图形化远程连接软件VNC Viewer
下载地址:https://www.realvnc.com/en/connect/download/viewer/

2 烧录系统

1、将TF卡插入读卡器,然后插入笔记本电脑。
2、用格式化工具SDFormatter将TF卡格式化。在select card中选择TF卡对应的盘符(一般已经自动读取好了),然后选中Quick format,然后点击Format即可。
软件界面
3、将下载好的系统镜像烧录进TF卡中。在映像文件中选中下载好的文件,在设备中选中TF卡对应的盘符,点击写入按钮。等待写入完成。
软件界面
4、烧录完成后,进入TF的根目录,新建一个名为ssh的文件,以便进行远程连接。
注意,该文件名为ssh,无扩展名。有些电脑自动隐藏扩展名,所以需要自行设置显示扩展名,然后将扩展名删除。
5、新建文件wpa_supplicant.conf,内容如下。其中,ssid是WIFI热点名称,psk是WIFI密码。

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="Wifi名称"
    psk="密码"
    key_mgmt=WPA-PSK
    priority=1
}

3 启动树莓派

1、将TF卡装入树莓派中。
2、连接电源线,并将插头通电。此时,红灯亮起,绿灯会不规律闪烁直至熄灭。
此时树莓派情况如图所示(此时只插了一根线)。

3、搜寻树莓派的IP地址。将笔记本也接入与之前树莓派一样的WiFi,然后使用Advanced IP Scanner进行搜索。
首先提供网络上很多人使用的方法。参考图片如图所示,红色线框即为树莓派的IP地址,记下这个地址。
参考图片

然而,博主本人并没有通过这种方法找到树莓派的IP地址。这里提供一下博主成功找到IP地址的方法:登陆自己家WIFi的管理界面,然后查看当前正在连接网络的设备,即可成功找到树莓派的IP。
4、启动Xshell。选择文件》新建,在主机处输入树莓派的IP地址。
Xshell设置
然后选择用户身份验证,在用户名处输入pi,在密码处输入raspberry。
Xshell设置
5、点击确定,然后点击连接。连接成功后,输入如下命令进入配置界面。

sudo raspi-config

设置界面
6、打开图形化界面远程操作设置。选择第5项,界面配置选项。回车后选择P3 VNC,回车后出现确认页面,按方向键下键按键选择“Yes”,回车后提示设置成功,并跳转回主界面。参考图片如下:
VNC

VNC

VNC

VNC

7、设置开机自动连接WiFi。选择第2项,网络配置选项,回车后选择N2 wi-fi,分别输入WiFi名称和密码,确认后返回主界面。

WiFi
WiFi
8、按下右方向键,选中finish,完成设置。
finish

9、在命令行中输入sudo reboot重启,此时SSH连接会断开,不必慌张。

10、使用VNC远程软件,以图形化界面操作树莓派。运行VNC Viewer软件,输入树莓派的网络IP地址后回车(图中地址仅为示例,请输入你自己的地址),选择continue,输入树莓派登陆用户名/密码,pi/raspberry,完成后点击“OK”,成功进入树莓派图形化界面。

VNC

VNC

VNC

VNC

至此,我们成功启动了树莓派。在今后的使用中,可以根据个人的兴趣爱好来选择命令行或者是图形界面。

4 参考文献

部分文字和图片参考了列表中的文献,其版权归原作者所有,在此表示感谢!

https://blog.csdn.net/Lyh_2015/article/details/90143748

支持作者

写文章不易,希望您能给予我们一些支持。点击链接支持作者