本指南为运行 Raspbian 9.0 操作系统的 Raspberry Pi 嵌入式设备构建 TensorFlow。虽然这些说明可能也适用于其他系列的 Raspberry Pi 设备,但它仅针对此文中涉及的配置进行了测试和支持。
我们建议采用交叉编译的方式构建 TensorFlow Raspbian 软件包。交叉编译使用不同的平台来构建软件包。也就是说,我们并没有在配备有限 RAM 和相对较慢处理器的 Raspberry Pi 设备上构建 TensorFlow,而是使用性能更加强大的主机进行构建。
主机设置安装 Docker
为简化依赖关系管理,我们使用 Docker 创建虚拟 Linux 开发环境。通过执行以下命令验证 Docker 是否安装:docker run –rm hello-world
下载 TensorFlow 源代码
使用 Git 克隆 TensorFlow:
1
2
| git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
|
默认为 master 分支。您还可以签出要构建的 release 分支:
1
| git checkout branch_name # r1.9, r1.10, etc.
|
基于源代码构建交叉编译 TensorFlow 源代码,从而构建一个基于 ARMv7 NEON 指令的 Python pip 包, 该指令适用于 Raspberry Pi 2 和 3 设备。构建脚本启动 Docker 容器以进行编译。基于 Python 3 和 Python 2.7 的代码如下所示:
Python 3
1
2
3
4
5
6
7
8
9
| CI_DOCKER_EXTRA_PARAMS="-e CI_BUILD_PYTHON=python3 -e CROSSTOOL_PYTHON_INCLUDE_PATH=/usr/include/python3.4" \
tensorflow/tools/ci_build/ci_build.sh PI-PYTHON3 \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh
Python 2.7
tensorflow/tools/ci_build/ci_build.sh PI \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh
|
为了构建支持所有 Raspberry Pi 设备的包,如下所示:
1
2
| tensorflow/tools/ci_build/ci_build.sh PI \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh PI_ONE
|
构建完成后(约30分钟),将在 output-artifacts 目录中创建一个包文件。将此文件复制到 Raspberry Pi 并通过 pip 进行安装:
1
| pip install tensorflow-version-cp34-none-linux_armv7l.whl
|
via Google TensorFlow
|