使用Raspberry Pi 4 搭配 Tensorflow Lite 或 Coral USB Accelerator 做影像辨識前,來安裝套件吧!
由於Tensorflow Lite在邊緣運算裝置上表現突出,新出的多種開發板幾乎都有支援Tensorflow Lite。Google除了提供Cloud Auto ML訓練機器學習模型,也開始推出Coral USB Accelerator,可以接上樹莓派等開發板來加速邊緣運算。
因此本篇文章分享如何在Raspberry Pi 4上成功安裝Tensorflow Lite以及Coral USB Accelerator套件,讓有興趣Raspberry Pi 4上嘗試用Tensorflow Lite或是Coral USB Accelerator套件做影像辨識,並且打算使用python撰寫程式的使用者可以更快速完成安裝。
作者 | 蔡雨錡 |
時間 | 20分鐘 |
難度 | * |
材料表 |
|
安裝之前要先更新套件
在terminal中按順序執行下列指令
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install build-essential
Tensorflow Lite(本篇僅安裝物體辨識套件,不包含訓練套件)[1]
注意:如果你已經用pip安裝過tensorflow,請在terminal打 pip3 uninstall tensorflow 解安裝後再執行以下步驟,完整的tensorflow套件跟tensorflow lite物體辨識套件在安裝階段會出現衝突。
Step 1 – 前往官方網站下載套件
https://www.tensorflow.org/lite/guide/python
請在terminal中打 python3 –version 查看你的python版本,
根據Python版本,點選ARM32欄位下面的對應版本。
Pi 4預設Python版本會是3.7 (Debian Buster default),如果你是用舊的Pi 3,Python版本預設是3.5 (Debian 9 Stretch default)。
檔案會下載到Downloads,下載完後請將檔案移至/home/pi資料夾底下。
Step 2 – 安裝下載的wheel檔案
請在terminal中打 pip3 install 你剛剛下載的檔案名稱
看到上圖就代表順利安裝完Tensorflow Lite的tflife_runtime套件,可以開始做圖片辨識了!
Coral USB Accelerator [2] [3]
Step 1 – 下載套件檔案後解壓縮
在terminal檔中按順序打下列指令
wget https://dl.google.com/coral/edgetpu_api/edgetpu_api_latest.tar.gz -O edgetpu_api.tar.gz –trust-server-names
tar xzf edgetpu_api.tar.gz
Step 2 – 修改並執行install.sh
因為官方尚未加入Pi4硬體的辨識code,還有一個地方少了sudo,所以在這步驟中要修改檔案。
在terminal檔中打下列指令
nano edgetpu_api/install.sh 或 vim edgetpu_api/install.sh,選你喜歡的編輯器。
進入程式編輯畫面後,在第59行後加上Pi4的硬體辨識程式如下:
elif [[ “${MODEL}” == “Raspberry Pi 4 Model B Rev”* ]]; then
info “Recognized as Raspberry Pi 4 B.”
LIBEDGETPU_SUFFIX=arm32
HOST_GNU_TYPE=arm-linux-gnueabihf
在第128 行加上紅字部分的 sudo,原本缺少導致無法順利執行
sudo udevadm control –reload-rules && sudo udevadm trigger
加完後存檔,並打下列指令執行install.sh
sudo edgetpu_api/install.sh
Step 3 – 為了Python3.7做修改,官方預設不支援這個版本
在terminal檔中按順序打下列指令
cd /usr/local/lib/python3.7/dist-packages/edgetpu/swig
sudo cp _edgetpu_cpp_wrapper.cpython-35m-arm-linux-gnueabihf.so _edgetpu_cpp_wrapper.cpython-37m-arm-linux-gnueabihf.so
版本名稱修改完後,大功告成,可以摩拳擦掌開始辨識物體了!
可以參考官網範例來撰寫辨識程式:
Tensorflow Lite 搭配 Pi Camera
https://github.com/tensorflow/examples/tree/master/lite/examples/image_classification/raspberry_pi
Coral USB Accelerator :
https://coral.withgoogle.com/docs/accelerator/get-started/
參考資料:
[1] Tensorflow Lite 官方安裝教學https://www.tensorflow.org/lite/guide/python
[2] Coral USB Accelerator 官方安裝教學https://coral.withgoogle.com/docs/accelerator/get-started/
[3] Pi4使用者成功安裝Coral USB Accelerator套件心得