本指南介绍了如何针对运行 Raspbian 9.0 的 Raspberry Pi 设备编译 TensorFlow 软件包。尽管这些说明可能适用于其他 Raspberry Pi 版本,但我们仅针对此配置进行了测试,并且只有此配置支持这些说明。
我们建议交叉编译 TensorFlow Raspbian 软件包。交叉编译是指使用与目标部署平台不同的平台编译该软件包。您可以在运行 Linux、macOS 或 Windows 的更强大主机上轻松编译 TensorFlow,而不使用 Raspberry Pi 的有限内存和相对较慢的处理器。
注意:我们已经针对 Raspbian 系统提供了经过精密测试的预编译 TensorFlow 软件包。主机设置安装 Docker为了简化依赖项管理,编译脚本使用 Docker 创建用于编译的虚拟 Linux 开发环境。请执行以下命令以验证 Docker 安装效果:docker run --rm hello-world
下载 TensorFlow 源代码使用 Git 克隆 TensorFlow 代码库:
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
代码库默认为 master 开发分支。您也可以检出要编译的版本分支:
git checkout branch_name # r1.9, r1.10, etc.
要点:如果您在使用最新的开发分支时遇到编译问题,请尝试已知可用的版本分支。
从源代码编译交叉编译 TensorFlow 源代码,以根据适用于 Raspberry Pi 2 和 Raspberry Pi 3 设备的 ARMv7 NEON 指令编译 Python pip 软件包。编译脚本会启动 Docker 容器以进行编译。为目标软件包选择 Python 3 或 Python 2.7:
python3:
<pre class="devsite-terminal prettyprint lang-bsh"><span class="pln">CI_DOCKER_EXTRA_PARAMS</span><span class="pun">=</span><span class="str">"-e CI_BUILD_PYTHON=python3 -e CROSSTOOL_PYTHON_INCLUDE_PATH=/usr/include/python3.4"</span><span class="pln"> </span><span class="pun">\</span><span class="pln">
tensorflow</span><span class="pun">/</span><span class="pln">tools</span><span class="pun">/</span><span class="pln">ci_build</span><span class="pun">/</span><span class="pln">ci_build</span><span class="pun">.</span><span class="pln">sh PI</span><span class="pun">-</span><span class="pln">PYTHON3 </span><span class="pun">\</span><span class="pln">
tensorflow</span><span class="pun">/</span><span class="pln">tools</span><span class="pun">/</span><span class="pln">ci_build</span><span class="pun">/</span><span class="pln">pi</span><span class="pun">/</span><span class="pln">build_raspberry_pi</span><span class="pun">.</span><span class="pln">sh</span></pre>
python2:
tensorflow/tools/ci_build/ci_build.sh PI \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh
要编译支持所有 Raspberry Pi 设备(包括 Pi 1 和 Pi 0)的软件包,请传递 PI_ONE 参数,例如:
tensorflow/tools/ci_build/ci_build.sh PI \
tensorflow/tools/ci_build/pi/build_raspberry_pi.sh PI_ONE
当编译完成(大约需要 30 分钟)时,系统会在主机源代码树的 output-artifacts 目录中创建一个 .whl 软件包文件。将 wheel 文件复制到 Raspberry Pi 并使用 pip 进行安装:
pip install tensorflow-version-cp34-none-linux_armv7l.whl
成功:TensorFlow 现已安装在 Raspian 上。
|