Getting Started
Get Rich Learning running on your machine in under 5 minutes. Choose between the embedded LiteDB backend (zero setup) or the Neo4j backend (server-based, with graph visualisation).
Prerequisites
- .NET 10 SDK or later
- Git
- Optional: Neo4j 5+ (only if using the Neo4j backend)
Install
git clone https://github.com/Minu476/rich-learning.git
cd rich-learning
dotnet restore
dotnet build Run Your First Benchmark
The fastest way to see Rich Learning in action is the Split-MNIST benchmark with the embedded LiteDB backend:
dotnet run -- SplitMnist --litedb This trains on 5 sequential digit pairs (0/1, 2/3, 4/5, 6/7, 8/9), then tests retention on all previous tasks. Expected result: 100% retention.
Available Commands
| Command | Description |
|---|---|
SplitMnist --litedb | Run Split-MNIST continual learning benchmark |
SplitAudio --litedb | Run Split-Audio (FSD50K) benchmark |
Compare | Run Split-MNIST on both backends, print timing comparison |
Benchmark | Performance benchmark (cosine distance, matmul, MLP step) |
Demo --litedb | Interactive 3-episode graph exploration demo |
Using Neo4j Backend
To use Neo4j instead of LiteDB, start a Neo4j instance and set environment variables:
# Start Neo4j (Docker)
docker run -d --name neo4j \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/richlearning \
neo4j:5
# Set connection info
export NEO4J_URI=bolt://localhost:7687
export NEO4J_USER=neo4j
export NEO4J_PASSWORD=richlearning
# Run without --litedb flag
dotnet run -- SplitMnist Docker (Full Stack)
A docker-compose.yml is included for running both Neo4j and the app together:
docker compose up --build This starts Neo4j on port 7474/7687 and runs the Split-MNIST benchmark automatically.
Next Steps
- Read the Architecture guide to understand how the graph memory works
- See Configuration for tuning novelty thresholds and replay parameters
- Explore the full API Reference