8000 GitHub - cbasitodx/Minitorch: Tiny Pytorch clone for academic purposes including the understanding of the mathematical machinery, programming intricacies and design choices behind the famous Deep Learning & Tensors framework.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tiny Pytorch clone for academic purposes including the understanding of the mathematical machinery, programming intricacies and design choices behind the famous Deep Learning & Tensors framework.

Notifications You must be signed in to change notification settings

cbasitodx/Minitorch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 Minitorch: A Tiny Pytorch Clone for Learning Deep Learning Frameworks

Welcome to Minitorch! 🎉 This project is an academic Pytorch clone designed to help you dive deep into the mathematics, design choices, and programming challenges behind the famous Deep Learning & Tensors framework, Pytorch.

🌟 What is Minitorch?

Minitorch is a lightweight framework created for educational purposes. Its goal is to give you a solid understanding of the foundational concepts in deep learning, by allowing you to:

  • 🧠 Grasp the underlying mathematics behind tensors and neural networks.
  • 🛠️ Explore design choices made in a deep learning framework.
  • 💻 Tackle programming intricacies involved in building such a system from scratch.

🚀 Features

  • Tensors: Support for vector and matrix mathematical operations 🧮.
  • Optimization Algorithms: Implementations of algorithms like Stochastic Gradient Descent (SGD) 🔄.
  • Automatic Differentiation Engine: Build and compute gradients automatically for training neural networks 🧮✨.
  • Neural Network Components:
    • Linear Layer: Fully connected neural network layer.
    • Activation Functions: Classes like Sigmoid, ReLU, and more! 🔌⚡.
    • Loss functions: Loss functions for computing your network loss, such as Binary Cross Entropy! 🤖​

📝 Example

Minitorch comes with an example notebook where you can train a Multi-Layer Perceptron (MLP) to learn the AND logic function. 🤖💡

🛠️ Getting Started

Building the project is simple! Here's how to get started:

  1. Clone the repository:

    git clone https://github.com/cbasitodx/Minitorch.git
    cd minitorch
  2. Build your virtual enviroment for generating documentation (right now only available to make users 🐧​)

     make env

Prerequisites

  • make tool installed 🐧.
  • git installed 🎯​.
  • Python 3.x installed 🐍.

📚 Documentation

Full documentation can be automatically generated with the make doc command. Explore the intricacies of the framework and dive deep into the code! 📖🔍 Just make sure to first run make env

🎓 For Educators

Are you a teacher? 📚👩‍🏫👨‍🏫

If you'd like to use Minitorch in your classes, feel free to reach out to me via email at sebastian.conde@alumnos.upm.es. I'm happy to help and provide additional resources!

🤝 Contributing

Contributions are welcome! If you're interested in contributing to Minitorch, please send an email to sebastian.conde@alumnos.upm.es. Let's make this framework better together! 💪🌟

🔖 Version

Current version: 1.0.0


Thank you for checking out Minitorch! I hope you find it as exciting and educational as I do. Happy coding! 🎉🚀

About

Tiny Pytorch clone for academic purposes including the understanding of the mathematical machinery, programming intricacies and design choices behind the famous Deep Learning & Tensors framework.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0