tahamajs/Sysmem2_in_AI / ComputerAssignments /CA23_memory_efficient_networks
835 MB
10,492 files
Updated 4 months ago
Name
Size
__pycache__
config
data
demos
docs
notebooks
results
scripts
simple_memory_results
src
tests
visualizations
README.md6 kB
xet
requirements.txt1.35 kB
xet
README.md

CA23_memory_efficient_networks

๐Ÿ“ Project Structure

CA23_memory_efficient_networks/
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ config/
โ”‚   โ”œโ”€โ”€ config.json
โ”‚   โ””โ”€โ”€ requirements_basic.txt
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ COMPREHENSIVE_ANALYSIS_REPORT.md
โ”‚   โ”œโ”€โ”€ summary_statistics.json
โ”‚   โ”œโ”€โ”€ logs/
โ”‚   โ”œโ”€โ”€ results/
โ”‚   โ””โ”€โ”€ visualizations/
โ”œโ”€โ”€ demos/
โ”‚   โ””โ”€โ”€ simple_demo.py
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ ADVANCED_PROJECT_REPORT.md
โ”‚   โ”œโ”€โ”€ FINAL_SUMMARY.md
โ”‚   โ”œโ”€โ”€ PROJECT_COMPLETION_REPORT.md
โ”‚   โ”œโ”€โ”€ README_COMPLETE.md
โ”‚   โ””โ”€โ”€ README.md
โ”œโ”€โ”€ integrations/
โ”œโ”€โ”€ models/
โ”œโ”€โ”€ notebooks/
โ”‚   โ”œโ”€โ”€ 01_modern_hopfield_networks.ipynb
โ”‚   โ”œโ”€โ”€ 02_spectral_domain_cnns.ipynb
โ”‚   โ”œโ”€โ”€ 03_differentiable_neural_computers.ipynb
โ”‚   โ”œโ”€โ”€ 04_reversible_cnns.ipynb
โ”‚   โ”œโ”€โ”€ 05_activation_compressed_training.ipynb
โ”‚   โ”œโ”€โ”€ 06_comprehensive_benchmarking.ipynb
โ”‚   โ”œโ”€โ”€ 07_spiking_neural_networks.ipynb
โ”‚   โ”œโ”€โ”€ 08_hardnet.ipynb
โ”‚   โ””โ”€โ”€ CA23.ipynb
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ analyze_results_simple.py
โ”‚   โ”œโ”€โ”€ analyze_results.py
โ”‚   โ”œโ”€โ”€ project_summary.py
โ”‚   โ”œโ”€โ”€ quick_test.sh
โ”‚   โ”œโ”€โ”€ run_memory_optimization_pipeline.sh
โ”‚   โ”œโ”€โ”€ run_simple_demo.sh
โ”‚   โ”œโ”€โ”€ run_simple_no_pytorch.sh
โ”‚   โ”œโ”€โ”€ run.sh
โ”‚   โ””โ”€โ”€ setup.py
โ”œโ”€โ”€ simple_memory_results/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ core/
โ”‚   โ””โ”€โ”€ experimental/
โ”œโ”€โ”€ test_results/
โ””โ”€โ”€ tests/
    โ””โ”€โ”€ test_pipeline.py

๐Ÿš€ Quick Start

Installation

# Navigate to project directory
cd CAs/CA23_memory_efficient_networks

# Install dependencies
pip install -r requirements.txt

Running Notebooks

# Start Jupyter
jupyter notebook notebooks/

# Or use JupyterLab
jupyter lab notebooks/

Running Scripts

cd scripts/
./run.sh

Quick Example

from src.core.memory_efficient_networks import MemoryOptimizedCNN

# Create memory-efficient model
model = MemoryOptimizedCNN(
    num_classes=10,
    use_depthwise=True,
    use_checkpointing=True
)

# Get memory statistics
stats = model.get_memory_stats()
print(f"Memory usage: {stats['memory_mb']:.2f} MB")
print(f"Efficiency score: {stats['memory_efficiency_score']:.2f}")

๐Ÿ”ง Setup

  1. Clone the repository
  2. Install dependencies: pip install -r requirements.txt
  3. Configure environment variables if needed
  4. Run the project: cd scripts && ./run.sh

๐Ÿ“š Documentation

Comprehensive Guides

  • Advanced Techniques Guide - Detailed overview of all techniques
  • Notebooks - Interactive tutorials with working code examples
  • API Documentation - Complete API reference in source code

Key Concepts Covered

  • Memory hierarchy optimization in deep learning
  • Gradient checkpointing and reversible architectures
  • Activation compression techniques
  • Sparse neural networks and pruning
  • Spectral domain operations
  • External memory architectures
  • Spiking neural networks
  • Benchmarking and profiling

๐Ÿงช Testing

Run tests from the tests/ directory:

cd tests/
python test_*.py

๐ŸŽฎ Demos

Interactive demos are available in the demos/ folder.

๐Ÿ“Š Results & Benchmarks

Performance Comparison

Technique Memory Savings Speed Accuracy Best Use Case
Modern Hopfield 40% Medium 95% Associative memory
SpecNet 25-35% Fast 90% Large kernels
DNCs Variable Slow 92% Reasoning tasks
Reversible CNNs 50-70% Medium 93% Large models
ActNN 80-90% Fast 88% Memory-constrained
Sparse SNNs 40-60% Very Fast 85% Edge devices

Visualization & Analysis

Results, visualizations, and detailed analysis are stored in the data/ and test_results/ folders.

๐Ÿ”ฌ Research Applications

This project implements techniques from cutting-edge research papers:

  • Modern Hopfield Networks (Ramsauer et al., 2021)
  • ActNN (Chen et al., 2021)
  • Reversible Residual Networks (Gomez et al., 2017)
  • Differentiable Neural Computers (Graves et al., 2016)
  • Spiking Neural Networks (Maass, 1997)

๐ŸŽ“ Learning Objectives

After completing this project, you will understand:

  1. Memory hierarchy and its impact on deep learning
  2. Advanced gradient checkpointing techniques
  3. Activation compression and quantization
  4. Reversible neural network architectures
  5. External memory systems for neural networks
  6. Spiking neural networks and neuromorphic computing
  7. Spectral domain operations in deep learning
  8. Memory profiling and optimization strategies

๐Ÿค Contributing

Contributions are welcome! This project demonstrates best practices in:

  • Memory-efficient neural network design
  • PyTorch optimization techniques
  • Comprehensive documentation
  • Benchmarking and profiling

๐Ÿ“ Citation

If you use this code in your research, please cite:

@misc{ca23_memory_efficient_networks,
  title={CA23: Advanced Memory-Efficient Neural Networks},
  author={System2 in AI Course},
  year={2024},
  howpublished={\url{https://github.com/your-repo/Sysmem2_in_AI}}
}

๐Ÿ“„ License

This project is part of the System2_in_AI CA collection.

๐Ÿ”— Related Projects

  • CA18_memory_systems - General memory systems in AI
  • CA19_gpu_memory_optimization - GPU-specific optimizations
  • CA20_distributed_memory_systems - Distributed memory architectures

Status: โœ… Complete and fully functional

Last Updated: 2024 | Part of the System2_in_AI CA collection

Total size
835 MB
Files
10,492
Last updated
Jun 17
Pre-warmed CDN
US EU US EU

Contributors