Skip to content

Version 0.0.13

Choose a tag to compare

@chaoming0625 chaoming0625 released this 02 Oct 03:36
· 51 commits to main since this release
6103790

What's Changed

  • Standardize notebook formatting and enhance load_matfile by @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 Step duration 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 conn module, 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.init module, unify initializers, simplify conn API 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 conn module 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 PointNeuronConnectivity to PointConnectivity
  • Renamed ConvKernel to Conv2dKernel
  • Unified initializer names (e.g., ConstantWeightConstant)
  • Removed PopulationRateConnectivity class
  • Changed some parameter names for clarity (e.g., unified use of rng parameter)

Full Changelog: v0.0.12...v0.0.13