Merged
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.
Contributor
There was a problem hiding this comment.
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 <175728472+Copilot@users.noreply.github.com> Signed-off-by: Selim Firat Yilmaz <yilmazselimfirat@gmail.com>
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.