kiwigrad
1.0.0

Obwohl der Kiwigrad die Fähigkeit fehlt, wie Pytorch und Tensorflow durch den Himmel zu fliegen, ist er immer noch ein beeindruckender Vogel, der vor einem ungenutzten Potenzial weht, das darauf wartet, aufgedeckt zu werden.
Kiwigrad? Ja, es ist eine andere Version von Micrograd, die nur zum Spaß und zum Experimentieren erstellt wurde.
Um die aktuelle Version zu installieren,
pip install kiwigrad==0.28 Kiwigrade ist eine modifizierte Version des Micrograd- und der Minigradpakete mit zusätzlichen Funktionen. Die Hauptmerkmale, die Kiwigrade hinzugefügt wurden, sind:
from kiwigrad import MLP , Layer
class PotNet ( MLP ):
def __init__ ( self ):
layers = [
Layer ( nin = 2 , nout = 16 , bias = True , activation = "relu" ),
Layer ( nin = 16 , nout = 16 , bias = True , activation = "relu" ),
Layer ( nin = 16 , nout = 1 , bias = True , activation = "linear" )
]
super (). __init__ ( layers = layers )
model = PotNet () from kiwigrad import Value , draw_dot
a = Value ( - 4.0 )
b = Value ( 2.0 )
c = a + b
d = a * b + b ** 3
c += c + Value ( 1. )
c += Value ( 1. ) + c + ( - a )
d += d * Value ( 2 ) + ( b + a ). relu ()
d += Value ( 3. ) * d + ( b - a ). relu ()
e = c - d
f = e ** 2
g = f / Value ( 2.0 )
g += Value ( 10.0 ) / f
print ( f' { g . data :.4f } ' ) # prints 24.7041, the outcome of this forward pass
g . backward ()
print ( f' { a . grad :.4f } ' ) # prints 138.8338, i.e. the numerical value of dg/da
print ( f' { b . grad :.4f } ' ) # prints 645.5773, i.e. the numerical value of dg/db
draw_dot ( g ) cd test
pytest .