Skip to content

TnsaAi/OpenArchX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenArchX Logo


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

Learn the basics of OpenArchX

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.

A GPU-Ready Tensor Library

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.

Dynamic Neural Networks: Tape-Based Autograd

OpenArchX has a unique way of building neural networks using a tape-based autograd system, allowing for dynamic changes in network behavior without overhead.

Python First

OpenArchX is built to be deeply integrated into Python, allowing you to use it naturally like you would use NumPy or SciPy.

Imperative Experiences

OpenArchX is designed to be intuitive and easy to use, providing straightforward error messages and stack traces.

Fast and Lean

OpenArchX has minimal framework overhead and integrates acceleration libraries to maximize speed.

Extensions Without Pain

Writing new neural network modules or interfacing with OpenArchX's Tensor API is designed to be straightforward and with minimal abstractions.

Installation

Binaries

Commands to install binaries via Conda or pip wheels are on our website: https://example.com/install

From Source

Prerequisites

If you are installing from source, you will need:

  • Python 3.8 or later
  • A compiler that fully supports C++17

Get the OpenArchX Source

git clone https://github.com/yourusername/OpenArchX.git
cd OpenArchX

Install Dependencies

pip install -r requirements.txt

Install OpenArchX

python setup.py develop

Docker Image

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

Getting Started

Three pointers to get you started:

Resources

Communication

Releases and Contributing

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.

The Team

OpenArchX is maintained by a community of contributors.

License

OpenArchX is licensed under the MIT License - see the LICENSE file for details.