Skip to content

Pulsatrix

Pulsatrix

CI

Pulsatrix is a C++17 deep learning library built around explainability. Every layer implements Layer-wise Relevance Propagation (LRP) next to its forward and backward pass, so any network you build can explain its own predictions. On the tested MLP, CNN and attention models, the LRP results match the Zennit and LXT reference libraries to float32 precision.

New here? Start with Getting Started to build the library and run your first example, then try a recipe.

What's in the library

Deep Learning Modules and Layers: tensors, autograd and optimizers; linear, convolution, normalization and pooling layers; RNN/LSTM/GRU, attention, TransformerBlock, Mamba, RetNet and RWKV; and VAE, GAN and diffusion building blocks. Runs on CPU, CUDA or HIP/ROCm.

Data Loading, Transformation & Validation: Dataset and DataLoader with readers for CSV, images, text, audio and video frames, plus dataset statistics and outlier checks.

Interpretability: explain a trained model's predictions.

Reinforcement Learning: CartPole environments, replay and rollout buffers, and DQN, REINFORCE, A2C, PPO and SAC. Each algorithm's tests train it to a fixed score on CartPole.

Mechanistic Interpretability: look inside a network with activation caching, linear probes, sparse autoencoders and circuit graphs. This section also covers GFlowNets.

Neuro-Symbolic Reasoning: differentiable fuzzy logic you can train with gradient descent, and a Datalog engine that traces relevance from a logical conclusion back into a neural network.

Evolutionary Computation: genetic algorithms, NSGA-II, NEAT, Evolution Strategies, CMA-ES, Population Based Training and E-GAN.

Hyperparameter Optimization: grid and random search, Bayesian optimization (Gaussian process and TPE), and early stopping with Successive Halving, Hyperband and ASHA.

Visualization (optional): native Dear ImGui + ImPlot windows for attribution charts, saliency heatmaps, circuit graphs and a live training dashboard.

System Monitoring: log CPU/GPU utilization, memory and temperatures while you train.

Python bindings: Tensor, the core layers, LRP and the other explainers from Python. See Getting Started.

Everything is implemented in C++ with no Python dependency at runtime, and covered by 2,000+ tests that run in CI on Windows and Linux.

More resources

  • Customization: add your own layers, metrics sinks or device backends.
  • API Reference: the Doxygen reference for every class and function.
  • Examples: demo programs on GitHub.