Beautiful! Same in spirit as what I was going for, but even better. I really like the way the weights are updated in this one. Thanks for showing me this!
you got me, lol.
to be fair the only reason numpy is there is because truly
pure python doesn't have matmuls, and I didn't think reimplementing it wouldn't serve a didactic purpose.
A cool idea for a v2 without numpy would be implementing matmuls with lists, matrix transpose with zip() and switching np.exp for math.exp. And getting all that on fewer lines as possible.
https://iamtrask.github.io/2015/07/12/basic-python-network/