Comments (3)
Hi @steve-z-seattle,
thanks for your opinion. I will have a look at your repo.
from micrograd.
@ondras, That is a very interesting question. IMHO, it is less about lambda, and more about closure. It seems that the alternative approach will need some tedious unpacking, while the implementation here has the advantage to be more concise, as all the variables are conveniently available (typically self/x, other/y, and out) for gradient updates.
For the alternative implementation, please refer to my repo (WIP): https://github.com/steve-z-seattle/undergrad. The alternative implementation does not use lambdas/closure. Working in progress though.
At this point, I do think the closure implementation is more elegant.
from micrograd.
Related Issues (20)
- Appreciation and seed to GPU Support using PyCuda
- `other` should have a gradient in `__pow__` (?) HOT 2
- micrograd.NET: C# port for .NET developers
- Noob question about backprop implementation HOT 4
- Homework Assignment Error with softmax activation function HOT 1
- Issue with zero_grad? HOT 5
- Grad should be a Value instead of python/numpy scalar HOT 2
- Sequential MLP implementation
- Zero_grad only zeros the weight and bias nodes, not the nodes for addition and multiplication HOT 1
- A tensor version for micrograd inpired by this work
- Would need 'substraction' support in Engine, mainly for regression loss functions like MSE HOT 4
- Rename engine.py to value.py
- Vectorized implementation with PyTorch flavor
- Vectorized modification with GPU support.
- Another MiniGrad with the RAdam optimizer.
- Ensure backward() is idempotent HOT 4
- Regarding the gradient update of the __sub__ operation HOT 1
- PyPI package HOT 2
- Reseting the grad of weights and biases is not enough HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from micrograd.