OpenArchX is a deep learning framework designed for efficient model training and inference, with support for CUDA operations using CuPy. This framework is built to be independent of PyTorch while providing similar functionalities.
You can reuse your favorite Python packages such as NumPy, SciPy, and Cython to extend OpenArchX when needed.
Our trunk health (Continuous Integration signals) can be found at your-ci-url.
- More About OpenArchX
- Installation
- Getting Started
- Resources
- Communication
- Releases and Contributing
- The Team
- License
At a granular level, OpenArchX is a library that consists of the following components:
Component | Description |
---|---|
Tensor | A Tensor library like NumPy, with strong GPU support |
Autograd | A tape-based automatic differentiation library that supports all differentiable Tensor operations |
Neural Networks | A neural networks library deeply integrated with autograd designed for maximum flexibility |
Usually, OpenArchX is used either as:
- A replacement for NumPy to use the power of GPUs.
- A deep learning research platform that provides maximum flexibility and speed.
OpenArchX provides Tensors that can live either on the CPU or the GPU and accelerates the computation significantly.
We provide a wide variety of tensor routines to accelerate and fit your scientific computation needs such as slicing, indexing, mathematical operations, and linear algebra.
OpenArchX has a unique way of building neural networks using a tape-based autograd system, allowing for dynamic changes in network behavior without overhead.
OpenArchX is built to be deeply integrated into Python, allowing you to use it naturally like you would use NumPy or SciPy.
OpenArchX is designed to be intuitive and easy to use, providing straightforward error messages and stack traces.
OpenArchX has minimal framework overhead and integrates acceleration libraries to maximize speed.
Writing new neural network modules or interfacing with OpenArchX's Tensor API is designed to be straightforward and with minimal abstractions.
Commands to install binaries via Conda or pip wheels are on our website: https://example.com/install
If you are installing from source, you will need:
- Python 3.8 or later
- A compiler that fully supports C++17
git clone https://github.com/yourusername/OpenArchX.git
cd OpenArchX
pip install -r requirements.txt
python setup.py develop
You can also pull a pre-built docker image from Docker Hub and run with docker v19.03+:
docker run --gpus all --rm -ti --ipc=host yourusername/openarchx:latest
Three pointers to get you started:
- Tutorials: get you started with understanding and using OpenArchX
- Examples: easy to understand OpenArchX code across all domains
- The API Reference
- Forums: Discuss implementations, research, etc. OpenArchX Forum
- GitHub Issues: Bug reports, feature requests, etc. OpenArchX Issues
We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion.
If you plan to contribute new features, please first open an issue and discuss the feature with us.
OpenArchX is maintained by a community of contributors.
OpenArchX is licensed under the MIT License - see the LICENSE file for details.