edgetpu

by google-coral

google-coral / edgetpu

Source code for the Edge TPU API library

228 Stars 75 Forks Last release: Not found Apache License 2.0 8 Commits 4 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Edge TPU Python API

This repository contains an easy-to-use Python API to work with Coral devices:

You can run inference and do transfer learning.

Edge TPU Runtime

Run

scripts/runtime/install.sh
to install Edge TPU runtime or
scripts/runtime/uninstall.sh
to uninstall it.

Edge TPU Python API

  1. Run

    scripts/build_swig.sh
    to build SWIG-based native layer for different Linux architectures. Build is Docker-based, so you need to have it installed.
  2. Run

    make wheel
    to generate Python library wheel and then
    pip3 install $(ls dist/*.whl)
    to install it

Native C++ code

All native code is inside

src
folder. You can build everything using
make
command which invokes Bazel internally.

For example, run

make tests
to build all C++ unit tests or
make benchmarks
to build all C++ benchmarks. To get the list of all available make targets run
make help
. All output goes to
out
directory.

Linux

On Linux you can compile natively or cross-compile for 32-bit and 64-bit ARM CPUs.

To compile natively you need to install at least the following packages:

sudo apt-get install -y build-essential \
                        libpython3-dev \
                        libusb-1.0-0-dev \

and to cross-compile:

sudo dpkg --add-architecture armhf
sudo apt-get install -y crossbuild-essential-armhf \
                        libpython3-dev:armhf \
                        libusb-1.0-0-dev:armhf

sudo dpkg --add-architecture arm64 sudo apt-get install -y crossbuild-essential-arm64
libpython3-dev:arm64
libusb-1.0-0-dev:arm64

Compilation or cross-compilation is done by setting CPU variable for

make
command:
make CPU=k8      tests  # Builds for x86_64 (default CPU value)
make CPU=armv7a  tests  # Builds for ARMv7-A, e.g. Pi 3 or Pi 4
make CPU=aarch64 tests  # Builds for ARMv8, e.g. Coral Dev Board

macOS

You need to install the following software:

  1. Xcode from https://developer.apple.com/xcode/
  2. Xcode Command Line Tools:
    xcode-select --install
  3. Bazel for macOS from https://github.com/bazelbuild/bazel/releases
  4. MacPorts from https://www.macports.org/install.php
  5. Ports of
    python
    interpreter and
    numpy
    library:
    sudo port install python35 python36 python37 py35-numpy py36-numpy py37-numpy
  6. Port of
    libusb
    library:
    sudo port install libusb

Right after that all normal

make
commands should work as usual. You can run
make tests
to compile all C++ unit tests natively on macOS.

Docker

Docker allows to avoid complicated environment setup and build binaries for Linux on other operating systems without complicated setup:

make DOCKER_IMAGE=debian:buster DOCKER_CPUS="k8 armv7a aarch64" DOCKER_TARGETS=tests docker-build
make DOCKER_IMAGE=ubuntu:18.04  DOCKER_CPUS="k8 armv7a aarch64" DOCKER_TARGETS=tests docker-build

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.