A standalone reimplementation of TensorFlow for Ruby, supporting pure Ruby and OpenCL backends for machine learning.
TensorStream is a ground-up reimplementation of TensorFlow for the Ruby programming language. It provides a machine learning framework where computations are defined as data flow graphs, supporting both pure Ruby and OpenCL backends for CPU and GPU execution. It solves the problem of bringing TensorFlow-like ML capabilities to Ruby ecosystems without requiring Python or complex dependencies.
Ruby developers and data scientists who want to build, train, and deploy machine learning models within Ruby applications, especially those looking for TensorFlow compatibility without leaving the Ruby environment.
Developers choose TensorStream because it offers a familiar TensorFlow API in Ruby, enables hardware acceleration via OpenCL, and runs across multiple Ruby implementations (MRI, JRuby, TruffleRuby). Its standalone nature eliminates external dependencies like Docker or Python.
A ground-up and standalone reimplementation of TensorFlow for ruby. Comes with a pure ruby and OpenCL opcode evaluator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replicates common TensorFlow ops (e.g., add, constant, matmul) and supports auto-differentiation, making it familiar for developers porting models from Python, as shown in the README's linear regression example.
Offers pure Ruby and OpenCL evaluators, allowing GPU-accelerated training on supported hardware and deployment on any Ruby environment, highlighted by the ability to switch devices in code.
Runs on MRI, JRuby, and TruffleRuby, with performance boosts on JIT-enabled versions, enabling broad deployment options without language lock-in, as noted in the compatibility section.
Installs via a simple gem with no external dependencies like Docker or Python, making it accessible for Ruby developers, as emphasized in the installation instructions.
Not all TensorFlow operations are implemented, and model import/export is experimental, limiting portability and requiring manual workarounds for complex models, as admitted in the README's issues section.
Pure Ruby implementation is slow for large tensors, and OpenCL support is restricted to MRI, leaving JRuby and TruffleRuby users without GPU acceleration, which is critical for deep learning tasks.
Labeled as an early preview release with many unimplemented features and potential breaking changes, making it risky for production use, as cautioned in the roadmap and issues notes.
Lacks support for TensorBoard and relies on basic GraphML visualization with yED, missing the rich debugging and monitoring tools available in TensorFlow's ecosystem.
tensor_stream is an open-source alternative to the following products: