def element_times(left, right, name=None): """ The output of this operation is the element-wise product of the two input tensors. It supports broadcasting. In case of scalars its backward pass to left propagates right times the received gradient and vice versa. The operator (*) has been overloaded and can equally be used instead of element_times(). Example: >>> C.eval(C.element_times([1., 1., 1., 1.], [0.5, 0.25, 0.125, 0.])) [array([[ 0.5 , 0.25 , 0.125, 0. ]])] >>> C.eval(C.element_times([5., 10., 15., 30.], [2.])) [array([[ 10., 20., 30., 60.]])] Args: left: left side tensor right: right side tensor name: the name of the node in the network Returns: :class:`cntk.graph.ComputationNode` """ from cntk.ops.cntk2 import ElementTimes op = ElementTimes(left, right, name=name) wrap_numpy_arrays(op) op.rank = max(op._.rank, op.y.rank) return op
def element_times(left, right, name=None): """ The output of this operation is the element-wise product of the two input tensors. It supports broadcasting. In case of scalars its backward pass to left propagates right times the received gradient and vice versa. The operator (*) has been overloaded and can equally be used instead of element_times(). Example: >>> C.eval(C.element_times([1., 1., 1., 1.], [0.5, 0.25, 0.125, 0.])) [array([[ 0.5 , 0.25 , 0.125, 0. ]])] >>> C.eval(C.element_times([5., 10., 15., 30.], [2.])) [array([[ 10., 20., 30., 60.]])] Args: left: left side tensor right: right side tensor name (str): the name of the node in the network Returns: :class:`cntk.graph.ComputationNode` """ from cntk.ops.cntk2 import ElementTimes op = ElementTimes(left, right, name=name) wrap_numpy_arrays(op) op.rank = max(op._.rank, op.y.rank) return op
def element_times(left, right, name=None): """ Element-wise multiplication operation. The output of this operation is the element-wise product of the two input tensors. It supports broadcasting. In case of scalars its backward pass to left propagates right times the received gradient and vice versa. Example: >>> C.eval(C.element_times([1., 1., 1., 1.], [0.5, 0.25, 0.125, 0.])) [array([[ 0.5 , 0.25 , 0.125, 0. ]])] >>> C.eval(C.element_times([5., 10., 15., 30.], [2.])) [array([[ 10., 20., 30., 60.]])] Args: left: left side tensor right: right side tensor name: the name of the node in the network Returns: :class:`cntk.graph.ComputationNode` """ from cntk.ops.cntk2 import ElementTimes return ElementTimes(left, right, name=name)