Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Real-time neural network inferencing
| Date | Stars |
|---|---|
| 2026-07-31 | 835 |
| 2026-08-05 | 835 |
| 2026-08-06 | 835 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
<p align=center>
<picture>
<img src="./doxygen/logo.png" height="200"/>
</picture>
</p>
# RTNeural
[](https://github.com/jatinchowdhury18/RTNeural/actions/workflows/tests.yml)
[](https://github.com/jatinchowdhury18/RTNeural/actions/workflows/bench.yml)
[](https://github.com/jatinchowdhury18/RTNeural/actions/workflows/examples.yml)
[](https://github.com/jatinchowdhury18/RTNeural/actions/workflows/radsan.yml)
[](https://codecov.io/gh/jatinchowdhury18/RTNeural)
[](https://arxiv.org/abs/2106.03037)
[](https://opensource.org/licenses/BSD-3-Clause)
A lightweight neural network inferencing engine written in C++.
This library was designed with the intention of being used in
real-time systems, specifically real-time audio processing.
Currently supported layers:
- [x] Dense
- [x] GRU
- [x] LSTM
- [x] Conv1D
- [x] Conv2D
- [ ] MaxPooling
- [x] BatchNorm1D
- [x] BatchNorm2D
Currently supported activations:
- [x] tanh
- [x] ReLU
- [x] Sigmoid
- [x] SoftMax
- [x] ELu
- [x] PReLU
Additional resources:
- [RTNeural Discord](https://discord.gg/QMBBucKt4Q)
- [API Reference](https://ccrma.stanford.edu/~jatin/chowdsp/RTNeural)
- [Reference Paper](https://arxiv.org/abs/2106.03037)
- [Example Plugin](https://github.com/jatinchowdhury18/RTNeural-example)
- [Comparison Benchmarks](https://github.com/jatinchowdhury18/RTNeural-compare)
- [Experimental Extensions](https://github.com/jatinchowdhury18/RTNeural-Experimental)
## Citation
If you are using RTNeural as part of an academic work, please cite the library as follows:
```
@article{chowdhury2021rtneural,
title={RTNeural: Fast Neural Inferencing for Real-Time Systems},
author={Jatin Chowdhury},
year={2021},
journal={arXiv preprint arXiv:2106.03037}
}
```
## How To Use
`RTNeural` is capable of taking a neural network that
has already been trained, loading the weights from that
network, and running inference. Some simple examples
are available in the [`examples/`](./examples) directory.
### Exporting weights from a trained network
Neural networks are typically trained using `Python`
libraries including Tensorflow or PyTorch. Once you
have trained a neural network using one of these frameworks,
you can "export" the network weights to a json file,
so that `RTNeural` can read them. An implementation of
the export process for a "sequential" Tensorflow model is
provided in `python/model_utils.py`, and can be used as follows.
```python
# import dependencies
import tensorflow as tf
from tensorflow import keras
from model_utils import save_model
# create Tensrflow model
model = keras.Sequential()
...
# train model
model.train()
# export model weights
save_model(model, 'model_weights.json')
```
For an example of exporting a model from PyTorch,
see [this example script](./python/gru_torch.py).
### Creating a model
Next, you can create an inferencing engine in C++ directly
from the exported json file:
```cpp
#include <RTNeural.h>
...
std::ifstream jsonStream("model_weights.json", std::ifstream::binary);
auto model = RTNeural::json_parser::parseJson<double>(jsonStream);
```
### Running inference
Before running inference, it is recommended to "reset" the
state of your model (if the model has state).
```cpp
model->reset();
```
Then, you may run inference as follows:
```cpp
double input[] = { 1.0, 0.5, -0.1 }; // set up input vector
double output = model->Excerpt of 12,890 characters
Read on GitHub@Chowdhury-DSP
154
4
2
2
2
2
1
1
1
1
1
1
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:062295e4d77c8ac8, llm:Repository description: 'Real-time neural network inferencing' (C++)
matched fp:062295e4d77c8ac8, llm:Repository description: 'Real-time neural network inferencing' (C++)
matched fp:062295e4d77c8ac8, llm:Repository description: 'Real-time neural network inferencing' (C++)