TensorFlow Lite BEAM bindings with optional EdgeTPU support.
For macOS
# only required if not using precompiled binaries
# for compiling libusb
brew install autoconf automake
For some Linux OSes you need to manually execute the following command to update udev rules, otherwise, libedgetpu will fail to initialize Coral devices.
bash "3rd_party/cache/${TFLITE_BEAM_CORAL_LIBEDGETPU_RUNTIME}/edgetpu_runtime/install.sh"
-
TFLITE_BEAM_PREFER_PRECOMPILED
Use precompiled binaries when
TFLITE_BEAM_PREFER_PRECOMPILED
istrue
. Otherwise, this library will compile from source.Defaults to
true
. -
TFLITE_BEAM_CORAL_SUPPORT
Enable Coral Support.
Defaults to
true
. -
TFLITE_BEAM_CORAL_USB_THROTTLE
Throttling USB Coral Devices. Please see the official warning here, google-coral/libedgetpu.
Defaults to
true
.Note that only when
TFLITE_BEAM_CORAL_USB_THROTTLE
is set toNO
,:tflite_beam
will use the non-throttled libedgetpu libraries. -
TFLITE_BEAM_CORAL_LIBEDGETPU_LIBRARIES
Choose which ones of the libedgetpu libraries to copy to the
priv
directory of the:tflite_beam
app.Default value is
native
- only native libraries will be downloaded and copied.native
corresponds to the host OS and CPU architecture when compiling this library.When set to a specific value, e.g,
darwin_arm64
ordarwin_x86_64
, then the corresponding one will be downloaded and copied. This option is expected to be used for cross-compiling, like with nerves.Available values for this option are:
Value OS/CPU aarch64
Linux arm64 armv7l
Linux armv7 armv6
Linux armv6 k8
Linux x86_64 x86_64
Linux x86_64 riscv64
Linux riscv64 darwin_arm64
macOS Apple Silicon darwin_x86_64
macOS x86_64
If available in Hex, the package can be installed
by adding tflite_beam
to your list of dependencies in rebar.config
:
{deps, [
{tflite_beam, "0.3.2"}
]}
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/tflite_beam.