上回我们把 pytorch 的环境安装好了,这篇我们建立一下 tensorflow 和 keras 的开发环境。
不得不说,相对于pytorch来说,tensorflow 对各个系统的支持真的很完善,无论是各种平台还是各个版本都有对应的预编译安装包,官方文档也很详细(但不代表没有坑,详见下文),是工程化不错的选择。
而pytorch代码更pythonic,所以最新的模型和算法很多都由pytorch发布,两者长远来说会是个互相学习,互相追赶良性竞争的状态。对开发者来说,就都应该有所了解。
现在 树莓派上 tensorflow 比较成熟的版本是 1.14.0,最新版本是 2.3.0。主流应用还是 1.x 系列的比较多,但 2.x 集成keras化后明显更好用些,特别是在模型转化方面,也面向未来,所以这里用虚拟环境两者都部署一下。
python3 -m venv --system-site-packages ~/my_envs/tensorflow source ~/my_envs/tensorflow/bin/activate
Tip:
带参数 system-site-packages 是为了引用系统已安装的基础包,方便共享一些基础库。可以通过在虚拟环境 lib/python3.7 目录下新建 no-global-site-packages.txt 文件来切换引用状态。
下载编译版本的 whl 安装包:
wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v1.14.0-buster/tensorflow-1.14.0-cp37-none-linux_armv7l.whl wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.3.0/tensorflow-2.3.0-cp37-none-linux_armv7l.whl
pip install tensorflow-1.14.0-cp37-none-linux_armv7l.whl # 测试安装 python >>> import tensorflow as tf >>> print(tf.reduce_sum(tf.random.normal([1000, 1000]))) >>> tf.__version__
Tip:
这里官网的教程(https://www.tensorflow.org/in...)里推荐用 pip install tensorflow,会遇到 HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory 的错误。主要是树莓派里没有安装 Hadoop 文件系统引起的,我们这里暂时还用不到,所以用懒加载的方式就能修复。官方 pip 库里的 1.14.0 版本仍有问题,所以上文推荐用 github 上的开源编译版本。
与 tensorflow 1.14.0 匹配的 keras 是 2.2.5 版本
pip install keras==2.2.5
Tip:
tensorflow 和 keras 有严格的版本对应关系,更多的版本可以参考这个网站的表格。https://docs.floydhub.com/gui...
# 退出虚拟环境 deactivate python3 -m venv --system-site-packages ~/my_envs/tf2 source ~/my_envs/tf2/bin/activate
pip install tensorflow-2.3.0-cp37-none-linux_armv7l.whl # 测试安装 python >>> import tensorflow as tf >>> print(tf.reduce_sum(tf.random.normal([1000, 1000]))) >>> tf.__version__
pip install keras==2.4.3
本教程基于树莓派4B打造一个稳定的软硬件开发环境,再在其上构建AI应用。比如选择构建OpenCV 4.4,pyTorch 1.6和1.7,Tensorflow 2.1,然后在上面跑yolo v5应用,用intel NCS2加速等等…