Crate numrs

Crate numrs 

Source
Expand description

NumRs — core library

This crate provides the core runtime, IR, lowering pipeline and basic backends to run simple numeric kernels. It’s intentionally small and focused on proving the architecture end-to-end.

Public surface will be stable: array creation + add/mul/sum

Re-exports§

pub use array::cast_array;
pub use array::promoted_dtype;
pub use array::Array;
pub use array::DType;
pub use array::DTypeValue;
pub use array_view::ArrayView;
pub use autograd::is_grad_enabled;
pub use autograd::set_grad_enabled;
pub use autograd::NoGrad;
pub use autograd::Tensor;
pub use autograd::AdaGrad;
pub use autograd::Adam;
pub use autograd::Optimizer;
pub use autograd::RMSprop;
pub use autograd::SGD;
pub use autograd::BatchNorm1d;
pub use autograd::Conv1d;
pub use autograd::Dropout;
pub use autograd::Flatten;
pub use autograd::Linear;
pub use autograd::Module;
pub use autograd::ReLU;
pub use autograd::Sequential;
pub use autograd::Sigmoid;
pub use autograd::CrossEntropyLoss;
pub use autograd::Dataset;
pub use autograd::MSELoss;
pub use autograd::Trainer;
pub use autograd::TrainerBuilder;
pub use backend::dispatch::get_backend_override;
pub use backend::dispatch::set_backend_override;
pub use llo::reduction::ReductionKind;
pub use llo::ElementwiseKind;
pub use ops::abs;
pub use ops::abs;
pub use ops::acos;
pub use ops::acos;
pub use ops::add;
pub use ops::asin;
pub use ops::asin;
pub use ops::atan;
pub use ops::atan;
pub use ops::cos;
pub use ops::cos;
pub use ops::div;
pub use ops::exp;
pub use ops::exp;
pub use ops::log;
pub use ops::log;
pub use ops::mul;
pub use ops::pow;
pub use ops::relu;
pub use ops::relu;
pub use ops::sigmoid;
pub use ops::sigmoid;
pub use ops::sin;
pub use ops::sin;
pub use ops::softmax;
pub use ops::softmax;
pub use ops::sqrt;
pub use ops::sqrt;
pub use ops::sub;
pub use ops::sum;
pub use ops::sum;
pub use ops::tan;
pub use ops::tan;
pub use ops::tanh;
pub use ops::tanh;
pub use startup::print_startup_log;

Modules§

array
Array module public API
array_view
ArrayView - Zero-copy view into typed data for FFI operations
autograd
Automatic differentiation system for NumRs
backend
Backend selection and execution helpers
codegen
ir
llo
Low-level operations (LLO) — target-aware operations ready for codegen
ops
NumRs Operations API
ops_inplace
Zero-copy in-place operations for FFI bindings
startup

Macros§

no_grad
Macro para ejecutar código sin gradientes