anshuman23

anshuman23

Tensorflex: Tensorflow bindings for Elixir

Hello all,

I have been working on my proposed project called Tensorflex as part of Google Summer of Code 2018.. Tensorflex can be used for making predictions from input data on pre-trained Tensorflow models. Training as of now is only supported in the Python API (also C++ at a low-level) but Tensorflex fully supports Inference and can be used for making predictions. Moreover, Tensorflex is being worked on and improved everyday so if there are any particular features anyone has in mind, please feel free to get in touch with me!

As an introduction to using Tensorflex for making predictions from saved models, I have written a blog post: http://www.anshumanc.ml/gsoc/2018/06/14/gsoc/

To follow development, make sure to watch the Github repository here: GitHub - anshuman23/tensorflex: Tensorflow bindings for the Elixir programming language 💪 · GitHub

Cheers!

First Post!

juhalehtonen

juhalehtonen

Great! I was really excited to see this on the Google Summer of Code list of projects, glad to see it come to fruition :slight_smile: You mentioned that training via Tensorflex is not supported yet. Do you have any timeline in mind for this feature to land?

Most Liked

anshuman23

anshuman23

Hello Juha! Thanks for the vote of confidence :smile:

So any bindings for Tensorflow can only be written around the C API, which is publicly exposed by Google. Unfortunately, they have not added Training functionality to the C API yet. So we will have to wait and see when they do that and then we can support it in Tensorflex too. Also, most other Tensorflow bindings, such as the ones officially written for Golang, only support Inference.

anshuman23

anshuman23

Hello!
@mat_garland_1 and others who might be interested, here is the link for the PR which showcases how to use an RNN-LSTM model for sentiment analysis in Tensorflex. I am going to be working on documentation and a blog post for this as well as the Inception model over the next week, but the description for this PR is sufficiently detailed to get a general idea in the meanwhile:
https://github.com/anshuman23/tensorflex/pull/25

leifericf

leifericf

Thank you for creating this library, @anshuman23.

I recently changed my position at work from business developer to data scientist and I’m in the process of digging into a bunch of tools for data wrangling and machine learning.

Python is one of the most common programming languages for data science, due to extensive and robust libraries, such as pandas, NumPy, scikit-learn, TensorFlow, Keras and TensorForce. Those are the primary tools that we use at my workplace at the moment.

I’ll be looking into using Tensorflex as an alternative for deploying machine learning models.

One thing I’m curious about: When you created Tensorflex, did you envision for it to become to Elixir sort of what Keras is to Python? That is, not just for model-serving, but also for training artificial neural networks, etc.—A more generic abstraction layer on top of TensorFlow, CNTK and Theano.

Elixir with it’s highly concurrent capabilities, focus on data transformation (e.g. data pipelines) and strong support for meta-programming, lends itself very well to data science and machine learning. It makes me very excited to see that other people have similar thoughts.

There is an incredible amount of potential for Elixir within data science and machine learning.

Where Next?

Popular in Announcing Top

OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 14361 106
New
treble37
Just looking for a little feedback on a tiny helper library I built - Sometimes I find the need to convert maps with atom keys to maps w...
New
mbuhot
Leverage Open Api 3.0 (Swagger) to document, test, validate and explore your Plug and Phoenix APIs. Generate and serve a JSON Open API ...
New
josevalim
Hi everyone, We would like to announce that Plataformatec is working on a new MySQL driver called MyXQL. Our goal is to eventually integ...
New
sasajuric
I’d like to announce a small library called boundaries. This is an experimental project which explores the idea of enforcing boundaries ...
New
ityonemo
Currently just starting out on a new mini-project - getting zig NIFs to run in elixir. https://github.com/ityonemo/zigler The idea here...
New
woylie
Flop is an Elixir library that applies filtering, ordering and pagination parameters to your Ecto queries. offset-based pagination with...
New

Other popular topics Top

ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 49134 226
New
siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement