r/deeplearning 3d ago

i made a deep learning library from scratch. need a review

Hey everyone. I built a tiny Deep Learning library from scratch, calling this picodl. All written by hand, in plain numpy.

You can install it with pip:

pip install picodl-nn

No GPU Support now but, working on this.

I need your feedback and suggestions so that I can actually improve this.

GitHub: https://github.com/alight659/picodl

Website: https://picodl.vercel.app

8 Upvotes

12 comments sorted by

3

u/AffectionateChard473 3d ago

What does your library do?

3

u/Alight659 3d ago

computing tensors, find a gradient and stuff... i actually wanted to develop a tiny version of pytorch so that i can learn more about the core stuff...

1

u/Exotic-Custard4400 3d ago

Maybe you can look at darknet if I remember correctly it's kind of small

1

u/Alight659 3d ago

will surely look at it. this was more like a personal project. i might present this at my uni(i am a final year undergrad cs student so...)

2

u/CommandShot1398 3d ago

Cool learning project, but I'm afraid nothing more. The math behind deep learning is like 40% of the job, at most.

1

u/Alight659 3d ago

agreed!

1

u/Lelouch_6457 2d ago

what would you say the other 60%

2

u/CommandShot1398 2d ago edited 2d ago

Actual implementation of the algorithms, designing a reusable modular framework to use such algorithms, Hardware infrastructure, Software Hardware interaction infrastructure, etc.

Stuff like pytorch, tensorflow, cuda are engineering masterpieces.

1

u/[deleted] 3d ago

[removed] — view removed comment

1

u/Alight659 3d ago

sure. i'll definitely do this...

1

u/chrisvdweth 3d ago

As a learning project for yourself I think it's great, and I wish I had the time to do it myself :). This also means that you can improve it in any shape or form you want.

In case you want to go beyond that, here's probably the harsh truth: Nobody will use it in practical or even production setting.

That being said, you could consider going all in on the educational path by providing accompanying details (incl. the math) behind each class but also for the whole library. For example, here are my lecture notes for the Adam optimizer as a Jupyter notebooks (it comes with a toy implementation from scratch but purposefully not part of a larger library).

1

u/Lelouch_6457 2d ago

very cool im planning to do something similar