kiwigrad
1.0.0

Meskipun tidak memiliki kemampuan untuk terbang melalui langit seperti Pytorch dan Tensorflow , Kiwigrad masih merupakan burung yang tangguh yang penuh dengan potensi yang belum dimanfaatkan untuk diungkap.
Kiwigrad? Ya, ini adalah versi micrograd lain yang dibuat hanya untuk bersenang -senang dan eksperimen.
Untuk menginstal rilis saat ini,
pip install kiwigrad==0.28 Kiwigrad adalah versi yang dimodifikasi dari micrograd dan paket minigrad dengan fitur tambahan. Fitur utama yang ditambahkan ke Kiwigrad adalah:
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 .