tiygrad 是一个轻量级深度学习框架,它的目标是成为最容易添加新加速器的框架,同时支持推理和训练。
tiygrad 支持简单的基本操作,包含SOTA 视觉 models/efficietet.py和 语言模型 models/trasformer.py。
tiygrad 正在努力支持 accel/ 文件夹中的AppleNeuralEgie和GoogleTPU。最终将为tiygrad构建定制硬件,以达到终极目标:极速推理/训练框架。(但现在它还很慢)
安装gitcloehttps://github.com/geohot/tiygrad.gitcdtiygradpytho3-mpipistall-e.例子fromtiygrad.tesorimportTesorx=Tesor.eye(3,requires_grad=True)y=Tesor([[2.0,0,-2.0]],requires_grad=True)z=y.matmul(x).sum()z.backward()prit(x.grad.umpy())#dz/dxprit(y.grad.umpy())#dz/dytorch中的相同示例importtorchx=torch.eye(3,requires_grad=True)y=torch.tesor([[2.0,0,-2.0]],requires_grad=True)z=y.matmul(x).sum()z.backward()prit(x.grad)#dz/dxprit(y.grad)#dz/dy神经网络示例(来自test/models/test_mist.py)fromtiygrad.tesorimportTesorimporttiygrad..optimasoptimclassTiyBobNet:def__iit__(self):self.l1=Tesor.uiform(784,128)self.l2=Tesor.uiform(128,10)defforward(self,x):returx.dot(self.l1).relu().dot(self.l2).log_softmax()model=TiyBobNet()optim=optim.SGD([model.l1,model.l2],lr=0.001)#...adcompletelikepytorch,with(x,y)dataout=model.forward(x)loss=out.mul(y).mea()optim.zero_grad()loss.backward()optim.step()GPU和加速器支持tiygrad通过PyOpeCL支持GPU。fromtiygrad.tesorimportTesor(Tesor.oes(4,4).gpu()+Tesor.oes(4,4).gpu()).cpu()
评论