本指南为运行 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