Fix backprop of d_pad

This commit is contained in:
Matthew Honnibal 2017-11-01 19:27:26 +01:00
parent 759cc79185
commit e85e31cfbd

View File

@ -150,10 +150,10 @@ class PrecomputableAffine(Model):
def _backprop_padding(self, dY, ids): def _backprop_padding(self, dY, ids):
# (1, nF, nO, nP) += (nN, nF, nO, nP) where IDs (nN, nF) < 0 # (1, nF, nO, nP) += (nN, nF, nO, nP) where IDs (nN, nF) < 0
d_feats = dY[ids] for i in range(ids.shape[0]):
ids = ids.reshape((ids.shape[0], ids.shape[1], 1, 1)) for j in range(ids.shape[1]):
d_feats *= ids < 0 if ids[i,j] < 0:
self.d_pad += d_feats.sum(axis=0, keepdims=True) self.d_pad[0,j] += dY[i, j]
return dY, ids return dY, ids
@staticmethod @staticmethod