Skip to main content

GradCore-Tensor

A Lightweight C++ Neural Network & Autograd Library

An open-source, zero-allocation C++17 deep learning framework. Built for bare-metal execution speeds, dynamic computation graphs, and ultimate transparency in machine learning education.

Build Fast. Execute Faster.

train.cpp

#include <gradient.hpp>

using namespace gradientcore;

int main() {
// Zero-overhead memory arenas
Arena *perm_arena = Arena::create(MiB(16), MiB(1), false);
Arena *graph_arena = Arena::create(MiB(64), MiB(1), true);

// PyTorch-like Model Definition
nn::Model model(perm_arena, graph_arena);
model.add_layer(new (perm_arena->push<nn::Linear>()) nn::Linear(perm_arena, 8, 128));
model.add_layer(new (perm_arena->push<nn::ReLU>()) nn::ReLU());
model.add_layer(new (perm_arena->push<nn::Linear>()) nn::Linear(perm_arena, 128, 1));

// Compile & Train!
model.compile(nn::OptimizerType::ADAMW, nn::LossType::HUBER, 0.001f, 200, 128);
model.train(X_train, Y_train);

return 0;
}