readme and dirs

This commit is contained in:
George Hotz
2020-10-18 12:48:17 -07:00
parent 19b3b85b23
commit 83417d4b4c
4 changed files with 36 additions and 4 deletions

View File

@@ -2,5 +2,34 @@
For something in between a grad and a karpathy/micrograd
Requires numpy
The Tensor class is a wrapper around a numpy array
### Example
```python
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
```python
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
```

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python
import numpy as np
from tensor import Tensor
from tinygrad.tensor import Tensor
from tqdm import trange
# load the mnist dataset
@@ -74,5 +74,8 @@ def numpy_eval():
Y_test_preds = np.argmax(Y_test_preds_out, axis=1)
return (Y_test == Y_test_preds).mean()
print("test set accuracy is %f" % numpy_eval())
accuracy = numpy_eval()
print("test set accuracy is %f" % accuracy)
assert accuracy > 0.95

View File

@@ -1,6 +1,6 @@
import numpy as np
import torch
from tensor import Tensor
from tinygrad.tensor import Tensor
x_init = np.random.randn(1,3).astype(np.float32)
W_init = np.random.randn(3,3).astype(np.float32)