kiwigrad
1.0.0

A pesar de carecer de la capacidad de volar por los cielos como Pytorch y Tensorflow , el Kiwigrad sigue siendo un pájaro formidable que está lleno de potencial sin explotar que espera ser descubierto.
Kiwigrad? Sí, es otra versión de Micrograd que se creó solo para diversión y experimentación.
Para instalar la versión actual,
pip install kiwigrad==0.28 Kiwigrad es una versión modificada del microgrado y los paquetes de Minigrad con características adicionales. Las características principales agregadas a Kiwigrad son:
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 .