Skip to content

Release v1.0.2: Enhanced Trainer Infrastructure & Hopfield Capacity Improvements

Choose a tag to compare

@Routhleck Routhleck released this 08 Apr 07:10
· 2 commits to master since this release

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

Full Changelog

v1.0.1...v1.0.2