VeloxGraph
VeloxGraph is an extremely fast, efficient, low-level, in-memory, minimal graph database (wow, that is a mouth full). It is not revolutionary in its design but has a few key features that make it vital to the development of a new type of neural network architecture that I am working on.
VeloxGraph vs traditional matrix representations:
Much of the neural networks are designed around parallel processing. This is great for certain tasks, but for tasks that handle very sparse data, this can be a waste of processing power. Particularly, I am referring to sparsely connected networks, in which nodes may only have 10s or 100s of connections. For these calculations, even using a gpu will just slow it down.
I primarily wrote this code for use in a new type of neural network that I am working on that heavily relies on these types of connections. I focused on allowing very fast traversal of immediate connections, both forward (for triggering the next nodes) and backward (for looking up previous connections when deleting a node). These are some of the primary features that make this so useful to me.
Matrix representations, on the other hand, are highly efficient (and the preferred option) when handling densely connected networks. The first two layers in my neural network are still very densely connected and, therefore, use matrices to represent the nodes and connections. But every layer after that use this VeloxGraph database for representing the mostly sparse connections.
Getting Started
Install
Add this to your Cargo.toml file in your rust project:
[]
= "5.0.0"
Basic Code Example
use VeloxGraph;
Save and Load Example
use VeloxGraph;
More Examples
There are a few more in-depth examples here that I encourage you to look through.
Status
⚠️ This project is in early development.
Expect frequent changes as components mature.
License
Licensed under:
Contact
Created by Tayler Allen
For questions or collaboration, open an issue or discussion on GitHub.