Tensorflow-bin  by PINTO0309

Prebuilt TensorFlow Lite binaries for edge devices

Created 8 years ago
506 stars

Top 62.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

This repository provides pre-built TensorFlow binaries optimized for embedded platforms like Raspberry Pi and Jetson Nano. It focuses on enabling TensorFlow Lite with support for custom operations (MediaPipe), XNNPACK (including multi-threading and half-precision), and FlexDelegate. The project offers binaries for various TensorFlow versions and Python environments, along with detailed build instructions and customization steps for different hardware and software configurations.

How It Works

The project compiles TensorFlow from source, targeting ARM architectures (armhf, aarch64) common on Raspberry Pi and Jetson Nano. It integrates TensorFlow Lite for on-device inference, XNNPACK for performance acceleration, FlexDelegate for custom operations, and multi-threading. The README details specific build configurations, patches, and dependencies for numerous TensorFlow versions and OS distributions.

Quick Start & Requirements

  • Installation: Download pre-built .whl files or follow detailed build instructions using Bazel.
  • Prerequisites:
    • Hardware: Raspberry Pi (3/4/5, Zero), Jetson Nano.
    • OS: Raspbian, Debian, Ubuntu (specific versions listed).
    • Architecture: armhf, aarch64.
    • Python: 3.5-3.11 supported, with version-specific requirements.
    • Build Tools: Bazel (version-specific), GCC, Make, CMake, Python dev headers, pip, and libraries like libhdf5-dev, libc-ares-dev, libeigen3-dev.
    • Optional (Jetson Nano): CUDA, cuDNN, TensorRT.
  • Setup: Building from source is time-consuming; pre-built wheels offer faster setup.
  • Links: The README serves as primary documentation, including guides for OS image creation.

Highlighted Details

  • Platform Support: Extensive support for Raspberry Pi and Jetson Nano across numerous OS versions and Python environments.
  • TensorFlow Lite Optimization: Integrates XNNPACK for performance, including multi-threading and half-precision inference.
  • Custom Operations: Explicit support for custom operations, notably for MediaPipe.
  • Version Flexibility: Offers pre-built binaries and build instructions for a wide range of TensorFlow versions (v1.15.0 to v2.15.0+).

Maintenance & Community

Maintained by PINTO0309, providing highly detailed build instructions. Community interaction details are not present.

Licensing & Compatibility

No explicit license is stated. Compatibility is focused on ARM embedded systems and specific Linux distributions.

Limitations & Caveats

Source builds are complex and time-consuming, requiring specific Bazel versions and dependencies. The focus is on ARM embedded systems; general x86_64 builds are secondary. Some build configurations are noted as "impossible" or experimental. The README is dense and primarily a build guide.

Health Check
Last Commit

2 years ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
0 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.