3611452afac53b53f3e41ee83d7fc7bd811ffb81,thinc/neural/_classes/batchnorm.py,BatchNorm,begin_update,#BatchNorm#Any#Any#,43

Before Change


        N, mu, var = _get_moments(self.ops, X)

        self.nr_upd += 1
        alpha = self.ops.xp.asarray([0.01], dtype="float32")

        // I"m not sure this is the best thing to do --
        // Here we make a running estimate of the mean and variance,
        // Should we consider a sample be the instance, or the batch?
        diff = X - self.m
        incr = (1-alpha) * diff
        self.m += incr.mean(axis=0)
        self.v += (diff * incr).mean(axis=0)
        self.v *= alpha

        Xhat = _forward(self.ops, X, mu, var)

        // Batch "renormalization"
        if self.nr_upd >= 7500:
            Xhat *= var / (self.v+1e-08)
            Xhat += (mu - self.m) / (self.v+1e-08)

        y, backprop_rescale = self._begin_update_scale_shift(Xhat)

        def finish_update(dy, sgd=None):

After Change


        return y

    def begin_update(self, X, drop=0.):
        if drop is None:
            return self.predict(X), None
        assert X.dtype == "float32"
        X, backprop_child = self.child.begin_update(X, drop=0.)
        N, mu, var = _get_moments(self.ops, X)
        var += self.eps
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 3

Non-data size: 5

Instances


Project Name: explosion/thinc
Commit Name: 3611452afac53b53f3e41ee83d7fc7bd811ffb81
Time: 2018-03-14
Author: honnibal+gh@gmail.com
File Name: thinc/neural/_classes/batchnorm.py
Class Name: BatchNorm
Method Name: begin_update


Project Name: PyMVPA/PyMVPA
Commit Name: 226340622c3c9f6108d6efbed2f9967e2679802e
Time: 2009-04-19
Author: psederberg@gmail.com
File Name: mvpa/clfs/glmnet.py
Class Name: GLMNET
Method Name: _predict


Project Name: explosion/thinc
Commit Name: ff0d04f231cc8cd912a99982269dca0c41a68316
Time: 2018-03-14
Author: honnibal+gh@gmail.com
File Name: thinc/neural/_classes/batchnorm.py
Class Name: BatchNorm
Method Name: begin_update