OpenNN
Open-source neural networks library
Loading...
Searching...
No Matches
operators.h File Reference
#include "tensor_utilities.h"
#include "enum_map.h"
#include "forward_propagation.h"
#include "back_propagation.h"

Go to the source code of this file.

Classes

struct  opennn::Operator
 Base class for compute building blocks composed by layers (matmul, activation, dropout, etc.). More...
 
struct  opennn::AddOp
 Element-wise sum of several input tensors (used by residual connections). More...
 
struct  opennn::DropoutOp
 Inverted dropout: at training time zeros activations with probability rate and rescales survivors. More...
 
struct  opennn::ActivationOp
 Element-wise non-linear activation (Identity, Sigmoid, Tanh, ReLU, Softmax). More...
 
struct  opennn::CombinationOp
 Affine combination output = input * weights + bias (the dense matmul building block). More...
 
struct  opennn::CombinationReluOp
 Fused affine + ReLU activation (uses cuBLASLt epilogue on GPU when available). More...
 
struct  opennn::BatchNormOp
 Batch normalization with learnable scale/shift and running statistics for inference. More...
 
struct  opennn::ConvolutionOp
 2D convolution operator (NHWC layout) backed by Eigen on CPU and cuDNN on GPU. More...
 
struct  opennn::ConvolutionReluOp
 Fused 2D convolution + ReLU activation (uses cuDNN fused epilogue on GPU). More...
 
struct  opennn::LayerNormOp
 Layer normalization with learnable scale/shift, applied across the embedding dimension. More...
 
struct  opennn::MultiHeadProjectionOp
 Projects (input_features) into (heads * head_dim) and reshapes for multi-head attention. More...
 
struct  opennn::AttentionOp
 Scaled dot-product attention with optional causal mask and dropout. More...
 
struct  opennn::MergeOp
 Reshapes (batch, heads, seq, head_dim) tensors back into (batch, seq, embed); no parameters. More...
 
struct  opennn::PoolOp
 2D pooling operator supporting max and average reductions. More...
 
struct  opennn::Pool3dOp
 Sequence-wide 1D pooling over the embedding dimension (mean or max). More...
 
struct  opennn::EmbeddingLookupOp
 Token embedding lookup with optional scaling and additive positional encoding. More...
 
struct  opennn::FlatOp
 Flattens a multi-dimensional tensor into a 2D (batch, features) tensor. More...
 
struct  opennn::BoundOp
 Clamps each output channel to a configurable lower/upper interval. More...
 
struct  opennn::ScaleOp
 Scales inputs to a target range using per-feature minimum/maximum or mean/std statistics. More...
 
struct  opennn::UnscaleOp
 Inverse of ScaleOp: maps normalized outputs back to the original feature range. More...
 

Namespaces

namespace  opennn