Version 0.0.13
What's Changed
- Standardize notebook formatting and enhance
load_matfileby @chaoming0625 in #39 - Add comprehensive connectivity module and enhance input generation by @chaoming0625 in #40
- Add input module tutorials and improve connectivity generation by @chaoming0625 in #41
- Standardize docstring code examples and enhance
Stepduration inference by @chaoming0625 in #42 - Introduce composable connectivity API and new spike processing modules by @chaoming0625 in #43
- Introduce modular, model-specific connectivity with unified API by @chaoming0625 in #44
- Enhance docstrings with examples and detailed descriptions by @chaoming0625 in #45
- Revert "Enhance docstrings with examples and detailed descriptions" by @chaoming0625 in #46
- Refactor
connmodule, add composable initialization API by @chaoming0625 in #47 - ⬆️ Bump actions/setup-python from 5 to 6 by @dependabot[bot] in #49
- Introduce comprehensive Optax optimizers and LR schedulers by @chaoming0625 in #50
- Add
braintools.initmodule, unify initializers, simplifyconnAPI by @chaoming0625 in #51 - Add topological network patterns; refactor connectivity API by @chaoming0625 in #52
- Introduce unified init, advanced conn patterns, and Optax optimizers by @chaoming0625 in #53
Major Features
New Initialization Framework (braintools.init)
- Unified initialization API consolidating all weight and parameter initialization strategies
- Distance-based initialization: Support for distance-modulated weight patterns
- Variance scaling strategies: Xavier, He, LeCun initialization methods
- Orthogonal initialization for improved training stability
- Composite distributions for complex initialization patterns
- Simplified API with consistent parameter naming across all initializers
Advanced Connectivity Patterns (braintools.conn)
- Topological network patterns:
- Small-world and scale-free networks
- Hierarchical and core-periphery structures
- Modular and clustered random connectivity
- Enhanced biological connectivity:
- Excitatory-inhibitory balanced networks
- Distance-dependent connectivity with multiple profiles
- Compartment-specific connectivity (dendrite, soma, axon)
- Spatial connectivity improvements:
- 2D convolutional kernels for spatial networks
- Position-based connectivity with normalization
- Distance modulation using composable profiles
Comprehensive Optax Integration (braintools.optim)
- Full Optax optimizer support: Adam, SGD, RMSProp, AdaGrad, AdaDelta, and more
- Advanced learning rate schedulers:
- Cosine annealing with warm restarts
- Polynomial decay with warmup
- Piecewise constant schedules
- Sequential and chained schedulers
- Improved optimizer state management with unique state handling
- Parameter groups with per-group learning rates
Improvements
API Enhancements
- Simplified
connmodule API with direct class access - Refactored initialization calls for consistency
- Improved type annotations throughout
- Better default parameter handling
Documentation & Tutorials
- Updated tutorial structure for connectivity patterns
- New examples for topological networks
- Enhanced API documentation with detailed examples
- Improved code readability in tutorials
Code Quality
- Comprehensive test coverage for new features
- Better error handling and validation
- Consistent naming conventions
- Removed deprecated and redundant code
Breaking Changes
- Renamed
PointNeuronConnectivitytoPointConnectivity - Renamed
ConvKerneltoConv2dKernel - Unified initializer names (e.g.,
ConstantWeight→Constant) - Removed
PopulationRateConnectivityclass - Changed some parameter names for clarity (e.g., unified use of
rngparameter)
Full Changelog: v0.0.12...v0.0.13