Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Machine Learning
  3. Tensorflex

Tensorflex

Apache-2.0C

Tensorflow bindings for the Elixir programming language, enabling machine learning inference and tensor operations.

Visit WebsiteGitHubGitHub
307 stars15 forks0 contributors

What is Tensorflex?

Tensorflex is a library that provides native TensorFlow bindings for Elixir, enabling developers to load pre-trained models, run inference, and perform tensor operations directly within the Elixir ecosystem. It bridges TensorFlow's machine learning capabilities with Elixir's functional programming strengths, making ML accessible in BEAM environments like Erlang/OTP. The library supports tasks such as image classification, sentiment analysis, and data manipulation through a seamless Elixir interface.

Target Audience

Elixir developers working on machine learning projects who need to integrate pre-trained TensorFlow models into BEAM-based applications, such as web services or distributed systems. It is also suitable for data scientists or ML engineers familiar with Elixir who want to perform inference or tensor operations without leaving the Elixir environment.

Value Proposition

Developers choose Tensorflex because it offers a high-performance, idiomatic Elixir interface to TensorFlow's C API, with optimizations like fast CSV loading and direct integration. Its unique selling point is enabling ML workflows within Elixir's functional paradigm, avoiding the need to switch to Python or other languages for TensorFlow tasks, which simplifies deployment in BEAM environments.

Overview

Tensorflow bindings for the Elixir programming language :muscle:

Use Cases

Best For

  • Loading and running inference with pre-trained TensorFlow graph models (.pb files) in Elixir applications
  • Performing image classification using models like Google's Inception V3 with JPEG image inputs
  • Conducting sentiment analysis on text data using RNN/LSTM models within Elixir
  • Manipulating tensors and matrices for data preprocessing, such as creating, converting, or applying arithmetic operations
  • Efficiently loading and processing CSV data as matrices for machine learning pipelines in Elixir
  • Integrating TensorFlow-based machine learning into Phoenix web applications or other BEAM-based systems

Not Ideal For

  • Projects requiring training new TensorFlow models from scratch, as Tensorflex is inference-only
  • Applications needing support for image formats beyond JPEG RGB, such as PNG or grayscale images
  • Teams seeking pure Elixir solutions without external C dependencies like TensorFlow C API and libjpeg
  • Use cases demanding extensive TensorFlow operations beyond basic inference and tensor manipulation, due to limited feature coverage

Pros & Cons

Pros

High-Performance Inference

Benchmarks in the README show CSV loading is faster than Python's pandas, and direct C API integration ensures optimized execution for pre-trained models.

Idiomatic Elixir Interface

Uses Elixir structs like %Graph and %Tensor, making tensor operations and model loading feel native to the BEAM ecosystem, as demonstrated in examples.

Versatile Model Support

Can handle complex models like Google's Inception V3 for image classification and LSTM networks for sentiment analysis, with detailed examples provided.

Efficient Data Pipelines

Includes fast CSV-to-matrix conversion and image loading as tensors, streamlining data preprocessing for machine learning tasks within Elixir.

Cons

External Dependencies

Requires manual installation of TensorFlow C API and libjpeg, adding setup complexity and potential platform-specific compatibility issues.

Feature Limitations

The README admits no support for 3D matrix conversions and only JPEG RGB image handling, restricting use cases like grayscale or PNG-based workflows.

Niche Ecosystem

As a specialized library, it lacks the extensive community, documentation, and tooling of mainstream TensorFlow Python, which can hinder troubleshooting.

Frequently Asked Questions

Quick Stats

Stars307
Forks15
Contributors0
Open Issues5
Last commit7 years ago
CreatedSince 2018

Tags

#elixir#c-api#bindings#neural-networks#tensor-operations#inference#tensorflow#machine-learning

Built With

E
Elixir
l
libjpeg
T
Tensorflow C API
C
C++

Links & Resources

Website

Included in

Machine Learning72.2k
Auto-fetched 11 hours ago

Related Projects

PyTorch - Tensors and Dynamic neural networks in Python with strong GPU accelerationPyTorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration

Tensors and Dynamic neural networks in Python with strong GPU acceleration

Stars102,845
Forks29,156
Last commit9 hours ago
keraskeras

Deep Learning for humans

Stars64,321
Forks19,788
Last commit3 days ago
streamlitstreamlit

Streamlit — A faster way to build and share data apps.

Stars45,708
Forks4,374
Last commit14 hours ago
gradiogradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!

Stars43,488
Forks3,590
Last commit10 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub