performs elementwise subtraction it takes as input a list of tensors of size 2 both of the same shape and returns a single tensor inputs0 inputs1 of same shape examples inputshape 2 3 4 x1 np random randinputshape x2 np random randinputshape y keras layers subtractx1 x2 usage in a keras model input1 keras layers inputshape16 x1 keras layers dense8 activation relu input1 input2 keras layers inputshape32 x2 keras layers dense8 activation relu input2 equivalent to subtracted keras layers subtractx1 x2 subtracted keras layers subtractx1 x2 out keras layers dense4subtracted model keras models modelinputsinput1 input2 outputsout functional interface to the keras layers subtract layer args inputs a list of input tensors of size 2 each tensor of the same shape kwargs standard layer keyword arguments returns a tensor as the difference of the inputs it has the same shape as the inputs examples inputshape 2 3 4 x1 np random randinputshape x2 np random randinputshape y keras layers subtractx1 x2 usage in a keras model input1 keras layers inputshape16 x1 keras layers dense8 activation relu input1 input2 keras layers inputshape32 x2 keras layers dense8 activation relu input2 subtracted keras layers subtractx1 x2 out keras layers dense4subtracted model keras models modelinputsinput1 input2 outputsout performs elementwise subtraction it takes as input a list of tensors of size 2 both of the same shape and returns a single tensor inputs 0 inputs 1 of same shape examples input_shape 2 3 4 x1 np random rand input_shape x2 np random rand input_shape y keras layers subtract x1 x2 usage in a keras model input1 keras layers input shape 16 x1 keras layers dense 8 activation relu input1 input2 keras layers input shape 32 x2 keras layers dense 8 activation relu input2 equivalent to subtracted keras layers subtract x1 x2 subtracted keras layers subtract x1 x2 out keras layers dense 4 subtracted model keras models model inputs input1 input2 outputs out functional interface to the keras layers subtract layer args inputs a list of input tensors of size 2 each tensor of the same shape kwargs standard layer keyword arguments returns a tensor as the difference of the inputs it has the same shape as the inputs examples input_shape 2 3 4 x1 np random rand input_shape x2 np random rand input_shape y keras layers subtract x1 x2 usage in a keras model input1 keras layers input shape 16 x1 keras layers dense 8 activation relu input1 input2 keras layers input shape 32 x2 keras layers dense 8 activation relu input2 subtracted keras layers subtract x1 x2 out keras layers dense 4 subtracted model keras models model inputs input1 input2 outputs out
from keras import ops
from keras.api_export import keras_export
from keras.layers.merging.base_merge import Merge


@keras_export("keras.layers.Subtract")
class Subtract(Merge):
    

    def build(self, input_shape):
        super().build(input_shape)
        if len(input_shape) != 2:
            raise ValueError(
                "A `Subtract` layer should be called on exactly 2 inputs. "
                f"Received: input_shape={input_shape}"
            )

    def _merge_function(self, inputs):
        if len(inputs) != 2:
            raise ValueError(
                "A `Subtract` layer should be called on exactly 2 inputs. "
                f"Received: inputs={inputs}"
            )
        return ops.subtract(inputs[0], inputs[1])


@keras_export("keras.layers.subtract")
def subtract(inputs, **kwargs):
    
    return Subtract(**kwargs)(inputs)