- ExCubecl v0.5.0 compatibility: Updated ex_cubecl dependency to
>= 0.5.0with newjasondependency for kernel params JSON encoding - Command struct support:
ExCubecl.Commandtyped struct for pipeline commands (from ex_cubecl v0.5.0) :u8dtype support: Picks up new:u8(8-bit unsigned integer) dtype from ex_cubecl v0.5.0
- Updated ex_cubecl minimum version from
>= 0.4.0to>= 0.5.0 - Added
jason ~> 1.4dependency (required by ex_cubecl v0.5.0 for kernel parameter encoding) - Fixed
async_submit/1type spec to acceptString.t()(matching ex_cubecl'ssubmit/1) instead ofExCubecl.Command.t() - Updated README and guides to reference ex_cubecl v0.5+
- Fixed
describe/3compile error intest/cuda_test.exs(reverted todescribe/2with@tagon individual tests) - Model compilation improvements: GPU forward pass via
Nx.Defn.jit_apply+ExBurn.Defn.Compiler - Glorot/Xavier initialization: Proper weight initialization for all model parameters
- Model summary: Keras/PyTorch-style layer-by-layer summary with
ExBurn.Model.summary/1 - Layer freeze/unfreeze:
freeze/2,unfreeze/2,frozen?/2for fine-tuning workflows - Device management:
to_device/2for CPU ↔ GPU parameter transfer - Weight decay: L2 regularization support in model compilation and training
- Batch shuffling:
:shuffleoption (defaulttrue) in training loop - Nesterov momentum:
:nesterovoption for SGD optimizer - Gradient accumulation:
:accumulate_gradientsoption for effective larger batch sizes - Accuracy tracking:
:accuracyoption computes classification accuracy during training - Improved progress reporting: ETA, samples/sec, epoch time in training output
- Custom training loops: Public
train_step/3andcompute_gradients/3functions - Improved numerical gradients:
:numerical_batchmethod (~2x faster than:numerical) - Better evaluation:
evaluate/2with accuracy tracking and proper partial batch handling - Training optimization guide: Comprehensive guide covering optimizers, LR schedules, gradient clipping, weight decay, batch size selection, memory optimization, and troubleshooting
- Updated all guides with accurate, detailed documentation
- Updated README with current feature status and guide links
- Updated ROADMAP with completed improvements
- Initial Nx.Backend behaviour implementation (basic ops, shape ops, reductions, linear algebra)
- Rust NIF bridge to Burn Autodiff via rustler
- ExBurn.BurnBridge for direct Burn tensor operations
- ExBurn.CubeclBridge for GPU context management
- ExBurn.Model for model compilation and management
- ExBurn.Training with SGD, Adam, RMSprop optimizers, LR scheduling, gradient clipping, callbacks
- ExBurn.Error structured error type
- CI pipeline (GitHub Actions) with Elixir tests, Rust fmt/clippy
- Guides: Getting Started, Training, Mobile Deployment, Architecture
- Training uses numerical gradients (not yet connected to Burn's autodiff)
- No precompiled NIF binaries (requires Rust toolchain until v0.2.0)