Browse the Repository | Released Assets
- [deps] Use libedgetpu v0.1.10.
- Use tensorflow v2.18.0.
Browse the Repository | Released Assets
- fixed project build directory
Browse the Repository | Released Assets
- [deps] Use libedgetpu v0.1.9.
- Use tensorflow v2.16.1.
- Use libusb v1.0.27.
- Use Erlang/OTP 25.x for precompiled binaries. This unified the required Erlang/OTP NIF version to
2.16
for precompiled binaries. - Detect and use
HTTP_PROXY
,HTTPS_PROXY
,http_proxy
andhttps_proxy
when fetch preocmpiled binary from GitHub.
Browse the Repository | Released Assets
- Precompiled version for armv6 devices.
- Removed
TFBEAM_XNNPACK_ENABLE_ARM_I8MM
option as it should work as long as a newer C compiler is used. - Updated metadata_schema to 1.5.0
Browse the Repository | Released Assets
- [deps] Use libedgetpu v0.1.8.
- Use tensorflow v2.15.0.
Browse the Repository | Released Assets
- [deps] Use libedgetpu v0.1.7.
- Use tensorflow v2.13.0.
Browse the Repository | Released Assets
- [precompiled-nerves] Guess correct
TARGET_ARCH
fromTARGET_CPU
.
Browse the Repository | Released Assets
- [deps] Use libedgetpu v0.1.6.
- [examples] Examples moved to cocoa-xu/tflite_elixir.
Browse the Repository | Released Assets
- This repo will now be the TensorFlow Lite Erlang bindings. For Elixir bindings, please visit cocoa-xu/tflite_elixir.
- [erlang] Generate correct error message from a list of errors.
- [c_src] Initialize resource pointers with
nullptr
. - Implemented tokenizers for MobileBERT (#57) by @cocoa-xu.
- [make] Ensure priv dir exist.
Browse the Repository | Released Assets
- [deps] Use TensorFlow Lite version 2.11.1.
- [erlang] Generate correct error message from a list of errors.
- [c_src] Initialize resource pointers with
nullptr
. - Implemented tokenizers for MobileBERT (#57) by @cocoa-xu.
- [make] Ensure priv dir exist.
Browse the Repository | Released Assets
- Renamed root namespace from
TFLiteElixir
toTFLiteBEAM
buffer
will be copied and managed when usingTFLiteBEAM.FlatBufferModel.build_from_buffer/1
.TFLiteBEAM.TFLiteTensor.dims/1
returns a list (following TensorFlow Lite's C++ API convention) whileTFLiteBEAM.TFLiteTensor.shape/1
returns a tuple (folllowingnx
's convention.)
-
Erlang support.
-
[example] added pose estimation example (#43) by @mnishiguchi
-
[example] use thunder model instead of lightning in pose estimation (#45) by @mnishiguchi
-
[example] added audio classification example
-
Experimental high-level module
TFLiteBEAM.ImageClassification
.iex> alias TFLiteBEAM.ImageClassification iex> {:ok, pid} = ImageClassification.start("test/test_data/mobilenet_v2_1.0_224_inat_bird_quant.tflite") iex> ImageClassification.predict(pid, "test/test_data/parrot.jpeg") %{class_id: 923, score: 0.70703125} iex> ImageClassification.set_label_from_associated_file(pid, "inat_bird_labels.txt") :ok iex> ImageClassification.predict(pid, "test/test_data/parrot.jpeg") %{class_id: 923, label: "Ara macao (Scarlet Macaw)", score: 0.70703125} iex> ImageClassification.predict(pid, "test/test_data/parrot.jpeg", top_k: 3) [ %{class_id: 923, label: "Ara macao (Scarlet Macaw)", score: 0.70703125}, %{ class_id: 837, label: "Platycercus elegans (Crimson Rosella)", score: 0.078125 }, %{ class_id: 245, label: "Coracias caudatus (Lilac-breasted Roller)", score: 0.01953125 } ]
Browse the Repository | Released Assets
- Deprecated
TFLiteElixir.Interpreter.allocate_tensors!/1
- Deprecated Access behaviour for
TFLiteElixir.FlatBufferModel
-
Properly implemented
TFLiteElixir.FlatBufferModel.read_all_metadata/1
.iex> filename = Path.join([__DIR__, "test", "test_data", "mobilenet_v2_1.0_224_inat_bird_quant.tflite"]) iex> %FlatBufferModel{} = model = FlatBufferModel.build_from_buffer(File.read!(filename)) iex> TFLiteElixir.FlatBufferModel.read_all_metadata(model) %{ TFLITE_METADATA: %{ description: "Identify the most prominent object in the image from a known set of categories.", min_parser_version: "1.0.0", name: "ImageClassifier", subgraph_metadata: [ %{ input_tensor_metadata: [ %{ content: %{ content_properties: %{color_space: "RGB"}, content_properties_type: "ImageProperties" }, description: "Input image to be classified.", name: "image", process_units: [ %{ options: %{mean: [127.5], std: [127.5]}, options_type: "NormalizationOptions" } ], stats: %{max: [255.0], min: [0.0]} } ], output_tensor_metadata: [ %{ associated_files: [ %{ description: "Labels for categories that the model can recognize.", name: "inat_bird_labels.txt", type: "TENSOR_AXIS_LABELS" } ], description: "Probabilities of the labels respectively.", name: "probability", stats: %{max: [255.0], min: [0.0]} } ] } ] }, min_runtime_version: "1.5.0" }
- Improve
TFLiteElixir.TFLiteTensor.to_nx/2
(#33) by @cocoa-xu - [doc] Improve doc for to_nx (#31) by @mnishiguchi
- Implemented
FlatBufferModel.{list_associated_files/1,get_associated_file/2}
TFLiteElixir.Interpreter.signature_keys/1
TFLiteElixir.Interpreter.execution_plan/1
TFLiteElixir.Interpreter.new_from_buffer/1
TFLiteElixir.Interpreter.tensors_size/1
TFLiteElixir.Interpreter.variables/1
TFLiteElixir.Interpreter.set_variables/2
TFLiteElixir.Interpreter.set_inputs/2
TFLiteElixir.Interpreter.set_outputs/2
- [example] object detection example (#40) by @mnishiguchi
Browse the Repository | Released Assets
- [edgetpu] Improved edgetpu context handling, and bumped libedgetpu_runtime_version to v0.1.5. Fixed #30
- [example] artistic-style-transfer example (#27) @mnishiguchi
Browse the Repository | Released Assets
- Deprecated functions:
TFLiteElixir.FlatBufferModel.initialized!/1
TFLiteElixir.FlatBufferModel.get_minimum_runtime!/1
TFLiteElixir.TFLiteTensor.tensor!
TFLiteElixir.TFLiteTensor.to_nx!
TFLiteElixir.TFLiteTensor.to_binary!
TFLiteElixir.FlatBufferModel.build_from_buffer!
TFLiteElixir.FlatBufferModel.get_full_signature_list
TFLiteElixir.Coral.get_edge_tpu_context/1
now takes keyword options.
- [example] Improve Inference on TPU notebook (#15) @mnishiguchi
- [example] Improve Inference on TPU notebook (#16) @mnishiguchi
- Alias modules in tflite_interpreter (#17) @mnishiguchi
- Rename elixir files based on module names (#18) @mnishiguchi
- add moduledocs (#19) @mnishiguchi
- Fixed a few places that could lead to segmentation fault.
- [example] Fixed broken ESRGAN link, Visualize the result section in the "Super Resolution" notebook. Lock down
tflite_elixir
andevision
version (#29) @mnishiguchi. - [typespec] Fixed typespec for
TFLiteElixir.Coral.edge_tpu_devices/0
(#22) @mnishiguchi.
- [test] Unit tests for
TFLiteElixir.Interpreter
,TFLiteElixir.InterpreterBuilder
andTFLiteElixir.Ops.Builtin.BuiltinResolver
. - [example] Added intro text to super_resolution_example. (#26) @mnishiguchi.
TFLiteElixir.FlatBufferModel.error_reporter/1
.TFLiteElixir.FlatBufferModel.verify_and_build_from_file/2
Browse the Repository | Released Assets
- Snake case functions (#21) @mnishiguchi
- [example] Improve Inference on TPU notebook (#15) @mnishiguchi
- [example] Improve Inference on TPU notebook (#16) @mnishiguchi
- Alias modules in tflite_interpreter (#17) @mnishiguchi
- Rename elixir files based on module names (#18) @mnishiguchi
- add moduledocs (#19) @mnishiguchi
- Fix compilation logic when not using precompiled binaries.
- Implemented
TFLiteElixir.reset_variable_tensor/1
. - Add support for armv6.
- Simple workaround for cortex-a53 and cortex-a57,
vcvtaq_s32_f32
.
Browse the Repository | Released Assets
- Bump TFLite version to v2.11.0.
Browse the Repository | Released Assets
First release on hex.pm.