mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-06-24 02:14:17 +00:00
You like pytorch? You like micrograd? You love tinygrad! ❤️
- Python 73.1%
- C 14.2%
- Cuda 8%
- C++ 2.2%
- Metal 1.7%
- Other 0.6%
|
|
||
|---|---|---|
| .github/workflows | ||
| test | ||
| tinygrad | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
tinygrad
For something in between a grad and a karpathy/micrograd
This may not be the best deep learning framework, but it is a deep learning framework.
The Tensor class is a wrapper around a numpy array, except it does Tensor things.
Example
import numpy as np
from tinygrad.tensor import Tensor
x = Tensor(np.eye(3))
y = Tensor(np.array([[2.0,0,-2.0]]))
z = y.dot(x).sum()
z.backward()
print(x.grad) # dz/dx
print(y.grad) # dz/dy
Same example in torch
import torch
x = torch.eye(3, requires_grad=True)
y = torch.tensor([[2.0,0,-2.0]], requires_grad=True)
z = y.matmul(x).sum()
z.backward()
print(x.grad) # dz/dx
print(y.grad) # dz/dy
TODO (to make real neural network library)
- Implement gradcheck (numeric)
- Implement convolutions
- Implement Adam optimizer