def __call__(self, input, filter=(2, 2), strides=(2, 2)): new_node = Op.__call__(self) new_node.inputs = [input] new_node.filter = filter new_node.strides = strides new_node.cache = {} new_node.name = 'MaxPoolOp({})'.format(input.name) return new_node
def __call__(self, input, filter, bias, strides=(1, 1), padding=(0, 0)): new_node = Op.__call__(self) # input: 4-D data, (batch_size, depth, height, width) # filter: 4-D kernel (num_filters, depth, kernel_height, kernel_width) new_node.inputs = [input, filter, bias] new_node.strides = strides new_node.padding = padding new_node.name = 'Conv2d({0:s}, {1:s})'.format(input.name, filter.name) return new_node
def __call__(self, node_A, node_B, output_grad, strides=(1, 1), padding=(0, 0)): new_node = Op.__call__(self) new_node.inputs = [node_A, node_B, output_grad] new_node.strides = strides new_node.padding = padding new_node.name = "Conv2dBackwardFilter(%s, %s)" % (node_A.name, node_B.name) return new_node
def __call__(self, node_A, node_B, filter=(2, 2), strides=(2, 2), cache=None): new_node = Op.__call__(self) # node_B is the output_grad new_node.inputs = [node_A, node_B] new_node.filter = filter new_node.strides = strides new_node.cache = cache new_node.name = 'MaxPoolGradientOp(%s)' % (node_A.name) return new_node
def __call__(self, node_A): new_node = Op.__call__(self) new_node.inputs = [node_A] new_node.name = 'Tanh({0:s})'.format(node_A.name) return new_node
def __call__(self, node_A): new_node = Op.__call__(self) new_node.inputs = [node_A] new_node.name = "Conv2dBackwardBiase(%s)" % (node_A.name) return new_node
def __call__(self, node_A, node_B): """node_B is output_grad""" new_node = Op.__call__(self) new_node.inputs = [node_A, node_B] new_node.name = "ReluGradient(%s)" % (node_A.name) return new_node
def __call__(self, node_A): new_node = Op.__call__(self) new_node.inputs = [node_A] new_node.name = "Relu(%s)" % (node_A.name) return new_node
def __call__(self, node_A, node_B): new_node = Op.__call__(self) new_node.inputs = [node_A, node_B] new_node.name = 'CrossEntropy({0:s}, {1:s})'.format( node_A.name, node_B.name) return new_node