在Raspberry Pi4上安裝Tensorflow Lite for python以及Coral USB Accelerator套件

使用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分鐘
難度  *
材料表
  • Raspberry Pi 4 2ram/4ram
  • Coral USB Accelerator
  • 樹莓派週邊硬體(充電器、螢幕、滑鼠、鍵盤等)

安裝之前要先更新套件

在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套件心得

https://richardstechnotes.com/2019/07/04/object-detection-on-the-raspberry-pi-4-with-the-coral-usb-accelerator/

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *