def grad(self, inputs, gout):
     shapes = tt.stack([i.shape for i in inputs])
     index_end = shapes.cumsum(0)
     index_begin = index_end - shapes
     slices = [ix_(tt.arange(index_begin[i, 0], index_end[i, 0]),
                   tt.arange(index_begin[i, 1], index_end[i, 1])
                   ) for i in range(len(inputs))]
     return [gout[0][slc] for slc in slices]
Esempio n. 2
0
 def grad(self, inputs, gout):
     shapes = tt.stack([i.shape for i in inputs])
     index_end = shapes.cumsum(0)
     index_begin = index_end - shapes
     slices = [ix_(tt.arange(index_begin[i, 0], index_end[i, 0]),
                   tt.arange(index_begin[i, 1], index_end[i, 1])
                   ) for i in range(len(inputs))]
     return [gout[0][slc] for slc in slices]