{"id":18237489,"url":"https://github.com/mehdi342/memoraith","last_synced_at":"2025-04-04T05:33:31.985Z","repository":{"id":258055964,"uuid":"864749774","full_name":"MEHDI342/Memoraith","owner":"MEHDI342","description":"Memoraith: A lightweight, versatile model profiler for deep learning frameworks. Optimize your neural networks with detailed insights on memory usage, computation time, and performance bottlenecks.","archived":false,"fork":false,"pushed_at":"2024-10-30T23:07:47.000Z","size":58,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-31T00:18:13.198Z","etag":null,"topics":["deep-learning","machine-learning","memory-profiling","model-profiling","optimization","performance-analysis","pytorch","tensorflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MEHDI342.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-29T04:02:31.000Z","updated_at":"2024-10-30T23:07:51.000Z","dependencies_parsed_at":"2024-10-31T00:17:58.087Z","dependency_job_id":null,"html_url":"https://github.com/MEHDI342/Memoraith","commit_stats":null,"previous_names":["mehdi342/memoraith"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MEHDI342%2FMemoraith","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MEHDI342%2FMemoraith/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MEHDI342%2FMemoraith/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MEHDI342%2FMemoraith/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MEHDI342","download_url":"https://codeload.github.com/MEHDI342/Memoraith/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223100261,"owners_count":17087388,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","machine-learning","memory-profiling","model-profiling","optimization","performance-analysis","pytorch","tensorflow"],"created_at":"2024-11-05T02:04:46.500Z","updated_at":"2025-04-04T05:33:31.972Z","avatar_url":"https://github.com/MEHDI342.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\r\n  \u003cimg src=\"assets/logo.png\" alt=\"Memoraith Logo\" width=\"600\"/\u003e\r\r\n\r\r\n# Memoraith\r\r\n\r\r\n[![PyPI version](https://badge.fury.io/py/memoraith.svg)](https://badge.fury.io/py/memoraith)\r\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\r\n[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)\r\r\n[![Documentation Status](https://readthedocs.org/projects/memoraith/badge/?version=latest)](https://memoraith.readthedocs.io/en/latest/?badge=latest)\r\r\n\r\r\n**Advanced Lightweight Model Profiler for Deep Learning**\r\r\n\u003c/div\u003e\r\r\n\r\r\n## Overview\r\r\n\r\r\nMemoraith is a cutting-edge, lightweight model profiler for deep learning frameworks, providing unparalleled insights into neural network performance. Developed with precision and efficiency in mind, it helps developers and researchers optimize their models through detailed performance analysis.\r\r\n\r\r\n## âœ¨ Key Features\r\r\n\r\r\n- ğŸ”� **Advanced Profiling**\r\r\n    - High-precision memory tracking (CPU \u0026 GPU)\r\r\n    - Microsecond-accurate computation timing\r\r\n    - Layer-by-layer performance analysis\r\r\n\r\r\n- ğŸ�¯ **Intelligent Analysis**\r\r\n    - Sophisticated bottleneck detection\r\r\n    - Anomaly identification\r\r\n    - Optimization recommendations\r\r\n\r\r\n- ğŸ“Š **Rich Visualization**\r\r\n    - Interactive dashboards\r\r\n    - Real-time monitoring\r\r\n    - Comprehensive reports\r\r\n\r\r\n- ğŸ›  **Framework Support**\r\r\n    - PyTorch integration\r\r\n    - TensorFlow support\r\r\n    - Extensible architecture\r\r\n\r\r\n## ğŸš€ Installation\r\r\n\r\r\nBasic installation:\r\r\n```bash\r\r\npip install memoraith\r\r\n```\r\r\n\r\r\nFull installation with GPU support and extra features:\r\r\n```bash\r\r\npip install memoraith[full]\r\r\n```\r\r\n\r\r\n## ğŸ�® Quick Start\r\r\n\r\r\nHere's a simple example using PyTorch:\r\r\n\r\r\n```python\r\r\nfrom memoraith import profile_model, set_output_path\r\r\nimport torch\r\r\nimport torch.nn as nn\r\r\n\r\r\n# Set output directory for profiling results\r\r\nset_output_path('profiling_results/')\r\r\n\r\r\n# Define your model\r\r\nclass AdvancedNet(nn.Module):\r\r\n    def __init__(self):\r\r\n        super(AdvancedNet, self).__init__()\r\r\n        self.conv1 = nn.Conv2d(3, 64, kernel_size=3, padding=1)\r\r\n        self.conv2 = nn.Conv2d(64, 128, kernel_size=3, padding=1)\r\r\n        self.fc = nn.Linear(128 * 8 * 8, 10)\r\r\n\r\r\n    def forward(self, x):\r\r\n        x = torch.relu(self.conv1(x))\r\r\n        x = torch.relu(self.conv2(x))\r\r\n        x = x.view(x.size(0), -1)\r\r\n        return self.fc(x)\r\r\n\r\r\n# Add profiling decorator\r\r\n@profile_model(memory=True, computation=True, gpu=True)\r\r\ndef train_model(model):\r\r\n    optimizer = torch.optim.Adam(model.parameters())\r\r\n    for _ in range(100):\r\r\n        input_data = torch.randn(32, 3, 32, 32)\r\r\n        output = model(input_data)\r\r\n        loss = output.sum()\r\r\n        loss.backward()\r\r\n        optimizer.step()\r\r\n\r\r\nif __name__ == \"__main__\":\r\r\n    model = AdvancedNet()\r\r\n    train_model(model)\r\r\n```\r\r\n\r\r\n## ğŸ“š Documentation\r\r\n\r\r\nVisit our [comprehensive documentation](https://memoraith.readthedocs.io) for:\r\r\n- Detailed API reference\r\r\n- Advanced usage examples\r\r\n- Best practices\r\r\n- Troubleshooting guides\r\r\n\r\r\n## ğŸ¤� Contributing\r\r\n\r\r\nWe welcome contributions! See our [Contributing Guide](CONTRIBUTING.md) for:\r\r\n- Code of conduct\r\r\n- Development setup\r\r\n- Submission guidelines\r\r\n- Testing procedures\r\r\n\r\r\n## ğŸ“� License\r\r\n\r\r\nMemoraith is released under the MIT License. See [LICENSE](LICENSE) file for details.\r\r\n\r\r\n## ğŸ†˜ Support\r\r\n\r\r\nNeed help?\r\r\n- ğŸ“‹ [GitHub Issues](https://github.com/mehdi342/Memoraith/issues)\r\r\n- ğŸ“š [Documentation](https://memoraith.readthedocs.io)\r\r\n- ğŸ“§ [Email Support](mailto:midojouhfi@gmail.com)\r\r\n\r\r\n## ğŸ“– Citation\r\r\n\r\r\nIf you use Memoraith in your research, please cite:\r\r\n\r\r\n```bibtex\r\r\n@software{memoraith,\r\r\n    author = {El Jouhfi, Mehdi},\r\r\n    title = {Memoraith: Advanced Lightweight Model Profiler for Deep Learning},\r\r\n    year = {2024},\r\r\n    url = {https://github.com/mehdi342/Memoraith},\r\r\n    version = {0.5.0}\r\r\n}\r\r\n```\r\r\n\r\r\n## ğŸ“¬ Contact\r\r\n\r\r\nFor inquiries, reach out to [Mehdi El Jouhfi](mailto:midojouhfi@gmail.com)\r\r\n\r\r\n---\r\r\n\u003cdiv align=\"center\"\u003e\r\r\n  Made with â�¤ï¸� and sweat by Mehdi El Jouhfi\r\r\n\u003c/div\u003e\r\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehdi342%2Fmemoraith","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmehdi342%2Fmemoraith","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehdi342%2Fmemoraith/lists"}