Skip to content

Releases: iLevyTate/stac

3.0.0-beta

22 Dec 20:21
efdf589

Choose a tag to compare

3.0.0-beta Pre-release
Pre-release

Pre-release: Repository Refactor and Improvement Release

Version: 3.0.0-beta
Name: Repository Refactor and Improvement Release


✨ Key Additions & Changes

  1. 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.
  2. 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.
  3. 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.
  4. 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

  1. Review and update your local clones to align with the new directory structure.
  2. Refer to the updated documentation for instructions on running STAC V1 experiments and STAC V2 conversion pipelines.
  3. Ensure compatibility with the latest dependencies and configurations provided in this release.

What's Changed

Full Changelog: 2.0.0.3...3.0.0-beta

2.0.0.3

12 Jul 01:31
26e213d

Choose a tag to compare

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

  1. 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

  2. Specialised SmolLM2 Converter (smollm2_converter.py)
    • End-to-end script for converting SmolLM2-1.7B-Instruct
    • Built-in TemporalSpikeProcessor wrapper for multi-turn conversations

  3. Command-line Runner (run_conversion.py)
    • Single entry-point to launch conversions with sensible logging, GPU/CPU autodetection, and on-disk spike telemetry

  4. 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

  5. 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 *.log files.
  • 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 > 64 in 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.md updated 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

  1. Make sure your spikingjelly version is ≥ 0.0.0.0.14 (pip install "spikingjelly[cuda]>=0.0.0.0.14" --pre).
  2. No API changes since v2.0.2; simply pull the new release and run your existing conversion commands.
  3. For SmolLM2 users, switch from the older experimental notebook to python smollm2_converter.py --help.

What's Changed

Full Changelog: 2.0.0.2...2.0.0.3

2.0.0.2 Correct Code

14 Jun 23:48
087771b

Choose a tag to compare

🚀 **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

New Contributors

Full Changelog: 2.0.0...2.0.0.2

2.0.0

10 Jun 20:51

Choose a tag to compare

🚀 **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

17 Apr 20:52

Choose a tag to compare

1.0.2.2-alpha Pre-release
Pre-release

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

23 Dec 00:30
0e281e8

Choose a tag to compare

1.0.2.1-alpha Pre-release
Pre-release

Zenodo Synchronization Second

1.0.2-alpha

23 Dec 00:28
0e281e8

Choose a tag to compare

1.0.2-alpha Pre-release
Pre-release

Zenodo Synchronization

1.0.0-alpha

23 Dec 00:22
0e281e8

Choose a tag to compare

1.0.0-alpha Pre-release
Pre-release

Spiking Neural Networks (SNNs) with transformer architectures for language modeling