树莓派4B安装Tensorflow的方法步骤
作者:梦在远方☯ 发布时间:2023-09-05 17:28:06
1.写作背景
Tensorflow官方在2018年宣布,正式发布支持树莓派版本的Tensorflow,编者开始直接用:
pip install tensorflow
进行安装,在安装成功后使用import进行验证时:
import tensorflow as tf
出现了如下所示报错:
E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
在花费了大量时间查询资料后,最终得到的解决,故做一个记录。
2.开始前的系统环境与设备
设备:树莓派4B一枚
系统:Raspberry PI OS 2020-5-27版
3.安装过程
Python 3.x + Tensorflow v1 系列
(1)安装必要的依赖项
$ sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran python-dev libgfortran5 \
libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev \
liblapack-dev cython openmpi-bin libopenmpi-dev libatlas-base-dev python3-dev
(2) 安装相关python包
$ sudo pip install keras_applications==1.0.8 --no-deps
$ sudo pip install keras_preprocessing==1.1.0 --no-deps
$ sudo pip install h5py==2.9.0
$ sudo pip install pybind11
$ pip install -U --user six wheel mock
(3)如果之前安装过tensorflow,卸载
$ sudo pip3 uninstall tensorflow
(4)下载Tensorflow
传送门1tensorflow-on-arm
传送门2Tensorflow-bin
选择你要的版本,我选择传送门2的tensorflow-1.15.0-cp37-cp37m-linux_armv7l.whl
$ wget https://github.com/PINTO0309/Tensorflow-bin/raw/master/tensorflow-1.15.0-cp37-cp37m-linux_armv7l.whl
$ sudo pip install tensorflow-1.15.0-cp37-cp37m-linux_armv7l.whl
(4)验证安装是否成功
安装成功后重启终端,运行Python后输入
>>import tensorflow as tf
>>tf.__version__
应该没有报错且正常输出版本信息。
Python 3.x + Tensorflow v2 系列
Tensorflow2系列的安装过程与1系列类似,不再赘述,直接上过程:
$ sudo apt-get install -y libhdf5-dev libc-ares-dev libeigen3-dev gcc gfortran python-dev libgfortran5 \
libatlas3-base libatlas-base-dev libopenblas-dev libopenblas-base libblas-dev \
liblapack-dev cython libatlas-base-dev openmpi-bin libopenmpi-dev python3-dev
$ sudo pip3 install keras_applications==1.0.8 --no-deps
$ sudo pip3 install keras_preprocessing==1.1.0 --no-deps
$ sudo pip3 install h5py==2.9.0
$ sudo pip3 install pybind11
$ pip3 install -U --user six wheel mock
$ wget "https://raw.githubusercontent.com/PINTO0309/Tensorflow-bin/master/tensorflow-2.2.0-cp37-cp37m-linux_armv7l_download.sh"
$ ./tensorflow-2.2.0-cp37-cp37m-linux_armv7l_download.sh
$ sudo pip3 uninstall tensorflow
$ sudo -H pip3 install tensorflow-2.2.0-cp37-cp37m-linux_armv7l.whl
4.参考资料
Error installing Tensorflow (cannot find libhdfs.so)
Install Tensorflow 2 on a Raspberry Pi 4
Tensorflow-bin
来源:https://blog.csdn.net/qq_44166805/article/details/107344488


猜你喜欢
- var obj=document.getElementById("txtUserID") var range=obj.c
- 高级查询在数据库中用得是最频繁的,也是应用最广泛的。基本常用查询--selectselect * from student;--all 查询
- 1、去除一个数组中的重复元素:使用grep函数代码片段: 代码:my @array = ( 'a', 'b'
- 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建
- scrollHeight: 获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 sc
- pandas.DataFrame行名(index)和列名(columns)的修改方法如下。rename()任意的行名(index)和列名(c
- 前言SQL SERVER 2012中新增了IIF函数,这个函数在VB或是ACCESS中是存在的。感兴趣的朋友们下面来一起学习学习吧。格式如下
- 本文实例讲述了Python读取properties配置文件操作。分享给大家供大家参考,具体如下:工作需要将Java项目的逻辑改为python
- 一、实验简介本实验将使用 Python3 去识别图片是否为 * ,我们会使用到 PIL 这个图像处理库,会编写算法来划分图像的皮肤区域1.
- 什么是锁锁的本质,就是一种资源,是由操作系统维护的一种专门用于同步的资源比如说互斥锁,说白了就是一种互斥的资源。只能有一个进程(线程)占有。
- 一,extract方法的使用extract函数主要是对于数据进行提取。场景一般对于DataFrame中的一列中的数据进行提取的场合比较多。例
- 一、系统资源使用限制的必要性探讨对于一个脚本,最基础的限制是要限制单进程实例以保证了不会存在多个进程实例、在运行程序主体逻辑前检测系统资源剩
- 本文为大家分享了微信小程序实现留言板的具体实现方法,供大家参考,具体内容如下先说一下小程序的开发环境之类的基础东西1.到微信公众平台下载开发
- 在SQL Server数据库中,有min server memory与max server memory两个内存选项。数据库管理员合理设置这
- 本文介绍一款工具 go-callvis,它能够将 Go 代码的调用关系可视化出来,并提供了可交互式的 web 服务。go get -u gi
- 在Python教程里,针对默认参数,给了一个“重要警告”的例子:def f(a, L=[]): L.append(a) &nbs
- 昨天用ucweb看到了goos发的一篇帖子:谁说Float菜单不可以水平居中,进去看了看,觉得方法有点繁琐了,用到了负边距,position
- 格式化在逻辑中非常常用。使用格式化函数,要注意写法:fmt.Sprintf(格式化样式, 参数列表…)格式化样式:字符
- 当我们想更新一张动态表的时候(即:表中的数据不断的添加),也许我们会用数据库代理,通过写作业,然后让他定时查询动态表中最新添加的数据,然后更
- 现在有这样一个需求,内网有一个数据库服务,需要将外网的数据库导入到内网数据库。将外网的数据库导出sql文件有700MB+,用MySQL自带的