-
Notifications
You must be signed in to change notification settings - Fork 1
Kaira v0.2.0 Release #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…d improve test input size Migrate from pytorch_msssim to torchmetrics for SSIM metrics #17
…res for larger image sizes #17
- Added ChannelAwareBaseModel as an abstract base class for models requiring channel state information (CSI). - Implemented utility methods for CSI validation, normalization, transformation, and feature extraction. - Updated AFModule to inherit from ChannelAwareBaseModel for consistent CSI handling. - Refactored Yilmaz2024DeepJSCCWZ models to extend ChannelAwareBaseModel. - Created a new example script demonstrating the usage of ChannelAwareBaseModel. - Added comprehensive tests for ChannelAwareBaseModel, including validation, normalization, and feature extraction. Create ChannelAwareBaseModel with required CSI support #16
- Implement comprehensive tests for MLPEncoder and MLPDecoder, covering initialization, forward passes, and gradient flow. - Introduce tests for Projection class, including various projection types and their properties. - Validate behavior with different input dimensions, data types, and device compatibility. - Ensure proper handling of trainable and non-trainable projections, along with reproducibility checks for random seeds.
…ark runners and neural compressor - Introduced a new test suite for benchmark runners including StandardRunner, ParallelRunner, ParametricRunner, and ComparisonRunner. - Implemented tests for various scenarios including success, failure, verbose output, and result saving. - Added integration tests to ensure consistency between StandardRunner and ParallelRunner. - Created a comprehensive test suite for NeuralCompressor focusing on real functionality and edge cases. - Included tests for bit-constrained mode, early stopping, and handling of empty batches. - Enhanced coverage by testing various methods and metrics in the NeuralCompressor.
…ark runners and neural compressor - Introduced a new test suite for benchmark runners including StandardRunner, ParallelRunner, ParametricRunner, and ComparisonRunner. - Implemented tests for various scenarios including success, failure, verbose output, and result saving. - Added integration tests to ensure consistency between StandardRunner and ParallelRunner. - Created a comprehensive test suite for NeuralCompressor focusing on real functionality and edge cases. - Included tests for bit-constrained mode, early stopping, and handling of empty batches. - Enhanced coverage by testing various methods and metrics in the NeuralCompressor.
…handling in forward pass
…ira benchmarking system
… of num_bits and improve result filtering in BenchmarkResultsManager
…on for LDPC codes
…ncellation decoding, example of use in communication system with AWGN noise.
… pre-commit errors. - Updated import statements in `__init__.py` for consistency. - Cleaned up the `LDPCCodeEncoder` class by consolidating imports and improving docstring formatting. - Enhanced the `PolarCodeEncoder` class with better documentation and added placeholder methods for decoding and syndrome calculation. - Streamlined the `rptu_database.py` by removing redundant comments and improving citation handling. - Refined utility functions in `utils.py` for clarity and consistency in docstrings. - Minor formatting adjustments in `psk.py` for improved readability.
…ference the correct codeword size
…istency with other PSK modulators
- Implemented comprehensive tests for the polar_code module, including helper functions and the PolarCodeEncoder class. - Added tests for the RPTU database module, ensuring proper structure and functionality of existing codes and database retrieval. - Enhanced utility tests with additional functions such as Taylor_arctanh, sign_to_bin, row_reduction, and others. - Included edge case handling and CUDA compatibility tests for utility functions.
…ions - Introduced a new example script for advanced Polar code visualization, showcasing channel polarization, successive cancellation decoding steps, and performance comparisons between different decoders. - Enhanced the existing Polar simulation example with improved documentation formatting. - Updated the metrics visualization utility to conditionally display legends based on the presence of labels. - Refactored the BeliefPropagationPolarDecoder class by removing unused method documentation. - Simplified the BaseBlockCodeEncoder class by removing inverse_encode and calculate_syndrome method placeholders. - Updated LDPCCodeEncoder and PolarCodeEncoder classes to improve documentation clarity and structure. - Adjusted the API reference generation script to ensure consistent output formatting. - Modified tests for encoder and decoder classes to reflect the removal of deprecated methods and improve error handling.
…ict resolution logic
- Introduced UplinkMACChannel class for modeling multi-user uplink communications. - Implemented channel effects, inter-user interference, and signal combination methods. - Added validation for user channels, gains, and interference power. - Created unit tests for UplinkMACChannel covering initialization, forward pass, error handling, and dynamic updates. - Updated base model methods to accept BaseModel instances for consistency. - Enhanced BPGCompressor documentation and error handling for missing BPG tools. - Added pytest configuration for better test organization and execution.
…ncies #29 feat: enhance testing guidelines and add integration tests for BPGCompressor
- Introduced comprehensive and quick benchmarks for LDPC codes in `ldpc_benchmark.py`, allowing for performance evaluation across multiple configurations and SNR levels. - Implemented a Min-Sum decoder for LDPC codes in `min_sum_ldpc.py`, providing a lower complexity alternative to the belief propagation decoder. - Updated the decoders' registry to include the new Min-Sum decoder and enhanced documentation with relevant references. - Added tests for ECC benchmarks to ensure correctness and reliability of implementations, covering various code families and configurations. - Improved documentation across various modules to include citations and references for algorithms and methods used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR updates documentation examples, Sphinx configuration, and CI/pre-commit workflows to support the v0.2.0 release of Kaira.
- Refines example gallery indices for constraints, channels, and benchmarks
- Adjusts Sphinx
conf.pyfor new version, gallery dirs, and auto‐examples download - Enhances CI and pre-commit workflows with caching, summaries, and extended matrix
Reviewed Changes
Copilot reviewed 167 out of 167 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/examples/constraints/index.rst | Fixed example descriptions and toctree directive |
| docs/examples/channels/index.rst | Updated thumbnails, alt text, tooltips, and toctree |
| docs/conf.py | Bumped version, gallery dirs, env warnings, new hooks |
| .pre-commit-config.yaml | Expanded mypy stubs list |
| .github/workflows/tests.yml | Refined matrix, caching, and test summary steps |
Comments suppressed due to low confidence (5)
docs/examples/constraints/index.rst:65
- The Sphinx directive is missing the double-colon syntax; it should be
.. toctree::to correctly generate the example gallery.
.. toctree:
docs/examples/channels/index.rst:193
- This directive should use
.. toctree::(with::) rather than.. toctree:to ensure the channel examples are included in the build.
.. toctree:
docs/conf.py:409
- This line must be indented under the
try:block to avoid a syntax error; ensure consistent indentation for thetry/exceptclauses.
app.add_config_value("current_date", get_current_date(), "env")
docs/conf.py:325
- Removing the NumPy intersphinx mapping may break cross-references in docs; if there are still references to NumPy types, you should restore this mapping.
- "numpy": ("https://numpy.org/doc/stable", None),
docs/conf.py:29
- Removing the fallback that set
GRAPHVIZ_DOTmay break inheritance diagrams. Consider restoring the environment‐variable assignment or update the warning to reflect the changed behavior.
print("WARNING: graphviz 'dot' command not found in PATH. Continuing without graphviz dot command.")
Codecov ReportAttention: Patch coverage is 📢 Thoughts on this report? Let us know! |
Co-authored-by: Copilot <[email protected]> Signed-off-by: Selim Firat Yilmaz <[email protected]>
…on codes. The script included encoding, transmission, and decoding processes, along with static and animated visualizations. This change eliminates the file `plot_fec_visual_error_correction.py` from the repository.
Pull Request: Kaira v0.2.0 Release
Description
This pull request introduces Kaira v0.2.0, a major release that significantly expands the framework's capabilities with comprehensive Forward Error Correction (FEC) implementations, enhanced neural network components, improved channel models, and extensive documentation updates.
Release Date: June 10, 2025
Version: 0.2.0
Previous Version: 0.1.1
Type of Change
🚀 Major New Features
Forward Error Correction (FEC) Framework
Enhanced Communication Systems
Neural Network Components
Metrics and Analysis
🔧 Technical Improvements
Development Infrastructure
Performance Optimizations
🔨 Breaking Changes
bp_iterations→bp_itersin belief propagation decoders📋 Migration Guide
For users upgrading from v0.1.x:
bp_iterationstobp_iterskaira.models.fec.utilsimports🐛 Bug Fixes
Code Quality
FEC Implementation
Testing Framework
📚 Documentation Updates
🧪 Testing
Test Coverage Expansion
Quality Assurance
🔒 Security Improvements
📊 Performance Metrics
Benchmarking Results
🗑️ Removed Components
Legacy Code Cleanup
Development Workflow
📋 Checklist
📝 Additional Information
Key Statistics
Dependencies
Community Impact
This release significantly enhances Kaira's capability as a communication systems research platform, particularly for:
🎯 Next Steps
After this release:
Reviewers: Please pay special attention to:
This release represents a significant milestone in Kaira's development, establishing it as a comprehensive platform for communication systems research and development.