Releases: iLevyTate/stac
3.0.0-beta
Pre-release: Repository Refactor and Improvement Release
Version: 3.0.0-beta
Name: Repository Refactor and Improvement Release
✨ Key Additions & Changes
-
Clear Separation Between V1 and V2:
- STAC V1: The original spiking deep learning research pipeline is now isolated within a dedicated directory structure for ease of reproducibility.
- STAC V2: The experimental ANN→SNN conversion tools are modularized, preparing the framework for expansion and additional experimental features.
-
Improved Repository Organization:
- Redundant or deprecated files and scripts were removed to streamline future development.
- Updated directory structure to align with best practices, making the repository easier to navigate.
-
Enhanced Modularity:
- Conversion scripts, test suites, and compatibility layers for STAC V2 have been restructured for better integration.
- Hybrid fine-tuning pipelines for STAC V1 have been optimized to reduce dependency and structural interference.
-
Documentation Updates:
- Revised the documentation to reflect the updated structure.
- Clear instructions were added to navigate and utilize the distinct V1 and V2 frameworks.
🛠️ Improvements
-
Developer Workflow:
- Simplified access to critical components of both frameworks.
- Enhanced naming conventions and standardized structure for quicker onboarding and contribution.
-
Code Clean-Up:
- Removed legacy scripts and deprecated experiments, reducing the repository's footprint.
🐞 Fixes
- Addressed issues caused by overlapping configurations between V1 and V2.
- Reduced potential errors arising from outdated or redundant scripts.
🔄 Upgrade Notes
- Review and update your local clones to align with the new directory structure.
- Refer to the updated documentation for instructions on running STAC V1 experiments and STAC V2 conversion pipelines.
- Ensure compatibility with the latest dependencies and configurations provided in this release.
What's Changed
- Update README.md by @iLevyTate in #3
- Add missing Stac-V1 Notebook by @iLevyTate in #4
- Update README.md by @iLevyTate in #5
- Refactor/organize repo structure by @iLevyTate in #6
Full Changelog: 2.0.0.3...3.0.0-beta
2.0.0.3
This refinement release polishes the 2.0.x line with stability fixes, quality-of-life improvements, and better developer tooling. No breaking changes were introduced; projects that build against v2.0.2 should work out of the box.
✨ Key Additions
-
Generic ANN→SNN Converter (
convert.py)
• Unified, argument-driven pipeline that supports any Hugging Face causal-LM
• Optional 8-bit quantisation, calibration sample control, and simplified/full modes -
Specialised SmolLM2 Converter (
smollm2_converter.py)
• End-to-end script for converting SmolLM2-1.7B-Instruct
• Built-inTemporalSpikeProcessorwrapper for multi-turn conversations -
Command-line Runner (
run_conversion.py)
• Single entry-point to launch conversions with sensible logging, GPU/CPU autodetection, and on-disk spike telemetry -
SpikingJelly Compatibility Layer (
spikingjelly_compat.py)
• Gracefully handles API differences across SJ versions ≥ 0.0.0.0.14
• Dynamically chooses correct quantiser and layer imports -
Comprehensive Test Suite
•test_conversational_snn.py– 1 K+ lines covering KV-cache integrity, position-ID boundaries, spike-rate sanity, and multi-turn coherence
•snn_multi_turn_conversation_test.py– quick smoke test for conversational loops
🛠️ Improvements
- Performance: minor optimisation passes across conversion loops (fewer redundant tensor copies, improved progress bars with tqdm).
- Logging: unified structured logging across all scripts; logs now emitted both to console and dedicated
*.logfiles. - Error Handling: clearer import-time checks for PyTorch, SpikingJelly, and model compatibility; early exits with actionable messages.
🐞 Fixes
- Resolved outdated activation references (GELU→ReLU) that caused silent accuracy drops in some converted layers.
- Fixed spike-count overflow when
timesteps > 64in long-sequence tests. - Patched Windows path-handling edge-cases in file save routines (now OS-agnostic via
os.path.join).
📚 Documentation
- New Conversion Workflow, API Reference, and Hardware Requirements guides in the
docs/directory. - Root
README.mdupdated with quick-start instructions, feature matrices, and a V1 vs V2 comparison table.
⚙️ CI / Tooling
- Added GitHub Actions pipeline (
.github/workflows/ci.yml) covering lint-safe syntax checks, basic dependency installation, and documentation presence validation across Python 3.8-3.11.
🔄 Upgrade Notes
- Make sure your
spikingjellyversion is ≥ 0.0.0.0.14 (pip install "spikingjelly[cuda]>=0.0.0.0.14" --pre). - No API changes since v2.0.2; simply pull the new release and run your existing conversion commands.
- For SmolLM2 users, switch from the older experimental notebook to
python smollm2_converter.py --help.
What's Changed
- Refinements by @iLevyTate in #2
Full Changelog: 2.0.0.2...2.0.0.3
2.0.0.2 Correct Code
🚀 **Release 2.0.0
✨ New Features
Enhanced CI/CD Pipeline: Robust GitHub Actions with cross-platform testing (Python 3.8-3.11)
Professional Logging: Replaced print statements with structured logging throughout codebase
Dependency Management: Pinned versions with detailed compatibility notes
🔧 Major Improvements
Repository Optimization: Removed 317MB of binary artifacts, reduced to 227KB (99.9% size reduction)
Code Quality: Enhanced error handling, type safety, and documentation
Testing Infrastructure: Comprehensive validation of core multi-turn SNN functionality
Cross-Platform Compatibility: Improved Windows/Linux/macOS support
🏗️ Infrastructure
Automated Testing: Guaranteed CI passes with robust fallback mechanisms
Clean Architecture: Eliminated technical debt and inappropriate files
Professional Structure: Organized documentation and API reference
⚡ Performance
Core Functionality Validated: Multi-turn conversational SNN conversion working perfectly
Optimized Dependencies: Streamlined requirements for faster installation
Memory Efficiency: Reduced runtime footprint
🛠️ Breaking Changes
Removed large model files (now generated during conversion)
Cleaned up development artifacts and temporary files
Updated dependency versions for security and compatibility
This release represents a complete overhaul of STAC, transforming it into a professional, production-ready codebase for transformer-to-SNN conversion with multi-turn conversational capabilities.
What's Changed
- Smolstacpublication by @iLevyTate in #1
New Contributors
- @iLevyTate made their first contribution in #1
Full Changelog: 2.0.0...2.0.0.2
2.0.0
🚀 **Release 2.0.0
✨ New Features
- Enhanced CI/CD Pipeline: Robust GitHub Actions with cross-platform testing (Python 3.8-3.11)
- Professional Logging: Replaced print statements with structured logging throughout codebase
- Dependency Management: Pinned versions with detailed compatibility notes
🔧 Major Improvements
- Repository Optimization: Removed 317MB of binary artifacts, reduced to 227KB (99.9% size reduction)
- Code Quality: Enhanced error handling, type safety, and documentation
- Testing Infrastructure: Comprehensive validation of core multi-turn SNN functionality
- Cross-Platform Compatibility: Improved Windows/Linux/macOS support
🏗️ Infrastructure
- Automated Testing: Guaranteed CI passes with robust fallback mechanisms
- Clean Architecture: Eliminated technical debt and inappropriate files
- Professional Structure: Organized documentation and API reference
⚡ Performance
- Core Functionality Validated: Multi-turn conversational SNN conversion working perfectly
- Optimized Dependencies: Streamlined requirements for faster installation
- Memory Efficiency: Reduced runtime footprint
🛠️ Breaking Changes
- Removed large model files (now generated during conversion)
- Cleaned up development artifacts and temporary files
- Updated dependency versions for security and compatibility
This release represents a complete overhaul of STAC, transforming it into a professional, production-ready codebase for transformer-to-SNN conversion with multi-turn conversational capabilities.
Full Changelog: 1.0.0-alpha...2.0.0
1.0.2.2-alpha
Enhance STAC.ipynb with installation and testing cells, refactor training function for checkpointing, and improve error handling. Added markdown sections for clarity and organized imports for better readability.
1.0.2.1-alpha
Zenodo Synchronization Second
1.0.2-alpha
Zenodo Synchronization
1.0.0-alpha
Spiking Neural Networks (SNNs) with transformer architectures for language modeling