Karpathy V1 · Neuron / Layer / MLP
一次 n(x) 调用,四个类怎么接力
MLP(3, [4,4,1]),输入 [2.0, 3.0, -1.0]。看调用怎么一层层往下钻,再一层层往上返。
MLP.__call__(x)
把 x 依次喂给每一层,用返回值覆盖 x
—
Layer.__call__(x)
同一个 x 喂给本层每个神经元,收集输出
—
Neuron.__call__(x)
加权求和 + 偏置,再过 tanh
—
Value.__mul__ / __add__ / tanh
每次运算建一个计算图节点,挂上 _backward
—
CODE
调用栈
MLP.__call__
└ Layer.__call__
└ Neuron.__call__
└ Value.__mul__ …