Skip to content

An Educational Framework Based on PyTorch for Deep Learning Education and Exploration

License

Notifications You must be signed in to change notification settings

Emperor-WS/PyEmber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PyEmber

PyEmber is an educational framework based on PyTorch, designed to empower beginner deep learning enthusiasts with a deep understanding of how a framework like PyTorch works, the concepts behind building their own and igniting their deep learning journey.

I chose the name ember because I thought its fun and because an ember is smaller than a torch xD

Key Features:

Extensive Documentation & Code Comments: I have tried my best to make the codebase highly documented and commented, making complex concepts more easy to understand for beginners.

PyTorch Demystified: You will easily gain practical insight into the inner workings of PyTorch, from building basic tensors to crafting complex neural networks.

Solid Foundation for Building Frameworks: Understanding the design principles and implementation details behind PyTorch will prepare you to have deeper understanding of deep learning and to build your own frameworks in the future if you want.

How to install?

Unfortunately the only way to install the framework currently is downloading it directly from github and start getting your hands dirty with it.

Requirements

  • numpy

  • cupy

  • pickle

  • json

  • time

Work To Be Done:

1. Simplified Installation: Streamline the installation process to make PyEmber even more accessible to beginners.

2. CUDA & cuDNN Integration: Transition from CuPy to native CUDA and cuDNN for enhanced performance and wider hardware compatibility.

3. Code Refactoring: Continuously improve the code quality and maintainability for a smoother learning experience.

4. Documentation Enhancements: Refine existing documentation and add new sections to address specific learning needs.

5. Neural Network Expansion: Introduce more layers and functionalities to the NN module, opening up possibilities for more complex architectures and greater versatility in model design.

6. Multi Processing Dataloader: Implementing Multi Processing Dataloaders to to boost data handling efficiency and speed.

7. Performance Optimization: Exploring techniques to enhance PyEmber's overall speed, resource usage and the framework's efficiency.

8. Thorough Testing and Debugging: Ensuring robustness and reliability through comprehensive testing and bug-fixing.

and more to be added.

Note:

The framework is very new and I'm creating it alone so some bugs may be found so please open an issue to report any bugs or issues.

And always keep your thirst for knowledge burning bright as an Ember!!