Help us understand the problem. What is going on with this article?

ラズパイ4でEdge TPU Python APIをインストールする

概要

ラズパイ4にEdge TPU(USB Accelerator)を接続し、Edge TPU Python APIを使用できるようにする手順を解説しています。
公式で配布されているインストーラーですとラズパイ4には未対応(2019年9月現在)、コマンドを叩いてセットアップする必要があります。

使用機材

注意事項

ラズパイ4は国内の技適が取得できていません。実機で試す場合は無線LAN機能やBluetooh機能をオフにしてから実施するようにしてください。

手順

資材のダウンロードと展開

wgetで資材をダウロードし展開します。ここはラズパイ3の時と変わりません。

$ 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
$ cd edgetpu_api/

必要なライブラリのインストール

aptを使って必要なライブラリをインストールします。

$ sudo apt-get install -y \
  libusb-1.0-0 \
  python3-pip \
  python3-pil \
  python3-numpy \
  libc++1 \
  libc++abi1 \
  libunwind8 \
  libgcc1

デバイス管理ルールの入替

udev用のルールを入れ替えます。

$ sudo cp -p ./99-edgetpu-accelerator.rules /etc/udev/rules.d/99-edgetpu-accelerator.rules
$ sudo su
# udevadm control --reload-rules && udevadm trigger
# exit

ライブラリのコピー

必要なライブラリのコピーをします。最大動作周波数を有効にするかどうかでコピーするファイルが違います。

最大動作周波数を有効にする場合

$ sudo cp -p ./libedgetpu/libedgetpu_arm32.so /usr/lib/arm-linux-gnueabihf/libedgetpu.so.1.0
$ sudo ldconfig

最大動作周波数を有効にしない場合

$ sudo cp -p ./libedgetpu/libedgetpu_arm32_throttled.so /usr/lib/arm-linux-gnueabihf/libedgetpu.so.1.0
$ sudo ldconfig

Python APIのインストール

whlファイルからPython APIのインストールを行います。

$ sudo python3 -m pip install --no-deps ./edgetpu-2.11.1-py3-none-any.whl

ライブラリの名称変更

ライブラリの名称変更を行います。Python3.7の場合必要な変更で、Rasbian BusterからはPython3.7が標準で使われるようになっているので必要になります。

$ cd /usr/local/lib/python3.7/dist-packages/edgetpu/swig/
$ sudo cp _edgetpu_cpp_wrapper.cpython-35m-arm-linux-gnueabihf.so _edgetpu_cpp_wrapper.so

最後に

これでEdge TPU Python APIが出来るようになります。公式の鳥を識別するデモプログラムが動かせるようになりますので試してみてください。

余談

2019/9/22(日)の技術書典7にて、ラズパイとEdgeTPUを使うための本を頒布いたします。AutoML Visionとの連携も解説しておりますので、是非見に来てください。サークルページ

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away