Release v1.0.2: Enhanced Trainer Infrastructure & Hopfield Capacity Improvements
What's New
🧠 Enhanced Hopfield Network Capacity Estimation
- Updated capacity formula from N/(4·ln(N)) to 0.14·N (classical Gaussian crosstalk approximation)
- Improved theoretical foundation for storage capacity calculations
- Removed unused dependencies and cleaned up imports
📖 Documentation Refinements
- Converted math syntax from Markdown to RST in pattern storage notebooks
- Added DOIs to bibliography entries and fixed BibTeX formatting
- Removed placeholder image notes from ASA GUI tutorials
- Updated research impact statement
🔧 Infrastructure & Polish
- Unified example output directories across all example scripts (PR #97)
- Added example output helper utility
- Removed obsolete documentation files
Major Features / Key Changes
🧠 Hopfield Network Improvements
- Capacity formula update: Replaced N/(4·ln(N)) heuristic with 0.14·N estimate based on Hopfield 1982 Gaussian crosstalk approximation
- Test expectation adjustment: Updated test_hopfield_analyzer to use empirical 0.14·N approximation
- Code cleanup: Removed unused numpy import from hopfield.py
📖 Documentation Improvements
- Pattern storage notebooks: Converted math syntax from Markdown (36451) to RST (.. math::) for proper Sphinx rendering
- Bibliography: Added DOI fields and fixed BibTeX punctuation
- ASA GUI docs: Removed placeholder image text from figure captions
- Research impact: Updated statement to reflect broader usage
🔧 Technical Improvements
- Example output unification (PR #97): All example scripts now use consistent output directory helpers
- New utility module: Added canns.utils.example_outputs for standardized example output paths
🎛️ Trainer Infrastructure
The new Trainer module provides a unified training framework:
- Trainer base class with fit(), train(), predict() methods
- Callback system: Callback, CallbackContext, CallbackList for training hooks
- Early stopping: EarlyStopping for automatic training halts
- Learning rate schedulers: CosineAnnealing, StepDecay, WarmupDecay
- History tracking: History object for metrics and metadata
Technical Notes
- The 0.14·N capacity formula preserves existing fallbacks (respects model.storage_capacity and default num_neurons)
- Example output directory changes are backward compatible via the new example_outputs utility