從原始碼開始建構 (適用於 Raspberry Pi)

本指南針對搭載 Raspbian 9.0Raspberry Pi 裝置建構 TensorFlow 套件。雖然這些指示可能適用於其他 Raspberry Pi 變化版本,但只有這個版本支援這個套件,而且只有這個版本的套件經過測試。

建議你跨平台編譯 TensorFlow Raspbian 套件的程式碼。跨平台程式碼編譯是使用部署平台以外的平台來建構套件。比起使用 Raspberry Pi 的有限 RAM 和速度較慢的處理器來建構 TensorFlow 套件,在更強大的 Linux、macOS 或 Windows 主機電腦上建構會更加輕鬆。

主機設定

安裝 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.

從原始碼開始建構

請使用 ARMv7 NEON 指示跨平台編譯 TensorFlow 的原始碼,建構可在 Raspberry Pi 2、3 和 4 裝置上運作的 Python pip 套件。建構指令碼會啟動用於編譯的 Docker 容器。你也可以為「build_raspberry_pi.sh」指令碼提供「AARCH64」參數,以建構 ARM 64 位元二進位檔 (aarch64)。請為目標套件選擇 Python 3.8、Python 3.7、Python 3.5 或 Python 2.7:

Python 3.5

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON3 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

Python 3.7

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON37 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

Python 3.8 (64 位元)

tensorflow/tools/ci_build/ci_build.sh PI-PYTHON38 \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh AARCH64

Python 2.7

tensorflow/tools/ci_build/ci_build.sh PI \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh

如要建立可支援所有 Raspberry Pi 裝置 (包括 Pi 1 和 Pi Zero) 的套件,請傳遞 PI_ONE 引數,例如:

tensorflow/tools/ci_build/ci_build.sh PI \
    tensorflow/tools/ci_build/pi/build_raspberry_pi.sh PI_ONE

建構完成時 (約需 30 分鐘),系統會在主機來源樹狀結構的輸出成果目錄中建立 .whl 套件檔案。請將 wheel 檔案複製到 Raspberry Pi,並使用 pip 進行安裝:

pip install tensorflow-version-cp35-none-linux_armv7l.whl