def _init_explain_function(self, patterns=None, **kwargs):
with umisc.ignore_sigmoids(self.output_layer) as output_layer:
Y = L.get_output(output_layer, deterministic=True)
X = self.input_layer.input_var # original
I = T.iscalar() # Output neuron
S = T.iscalar() # Sample that is desired
E = T.grad(Y[S].flatten()[I], X)
self.grad_function = theano.function(inputs=[X, S, I], outputs=E)
评论列表
文章目录