作者:jimmy岁月_929 | 来源:互联网 | 2023-08-24 10:23
![](https://img0.php1.cn/3cdc5/6d68/ae9/16d80ae50e6a4437.png)
![](https://img0.php1.cn/3cdc5/6d68/ae9/a4339e1f92e60b95.png)
事实证明,一个不错的 autograd 张量库是神经网络所需的 90%。从 tinygrad.optim 添加优化器(SGD、RMSprop 和 Adam 实现),编写一些样板小批量代码,您就拥有了所需的一切。
from tinygrad.tensor import Tensor
import tinygrad.optim as optimclass TinyBobNet:def __init__(self):self.l1 = Tensor.uniform(784, 128)self.l2 = Tensor.uniform(128, 10)def forward(self, x):return x.dot(self.l1).relu().dot(self.l2).logsoftmax()model = TinyBobNet()
optim = optim.SGD([model.l1, model.l2], lr=0.001)# ... and complete like pytorch, with (x,y) dataout = model.forward(x)
loss = out.mul(y).mean()
optim.zero_grad()
loss.backward()
optim.step()