def local_max_and_argmax(node): """ If we don't use the argmax, change it to a max only. """ if isinstance(node.op, T.MaxAndArgmax): axis = node.op.get_params(node) if len(node.outputs[1].clients) == 0: new = CAReduce(scal.maximum, axis)(node.inputs[0]) return [new, None] if len(node.outputs[0].clients) == 0: return [None, T.Argmax(axis)(node.inputs[0])]
def local_max_and_argmax(node): """ If we don't use the argmax, change it to a max only. """ if isinstance(node.op, tt.MaxAndArgmax): axis = node.op.get_params(node) if len(node.outputs[1].clients) == 0: new = tt.Max(axis)(node.inputs[0]) copy_stack_trace(node.outputs[0], new) return [new, None] if len(node.outputs[0].clients) == 0: new = tt.Argmax(axis)(node.inputs[0]) copy_stack_trace(node.outputs[0], new) return [None, new]