
    6bi5                     t    S r SSKJr  SSKJr  SSKJr  \" S5       " S S\5      5       r\" S5      S	 5       rg
)z Layer that subtracts two inputs.    )_Merge)tf_utils)keras_exportzkeras.layers.Subtractc                   P   ^  \ rS rSrSr\R                  U 4S j5       rS rSr	U =r
$ )Subtract   a  Layer that subtracts two inputs.

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]), also of the same shape.

Examples:

```python
    import tf_keras.src as keras

    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)
```
c                 ^   > [         TU ]  U5        [        U5      S:w  a  [        SU 35      eg )N   zOA `Subtract` layer should be called on exactly 2 inputs. Received: input_shape=)superbuildlen
ValueError)selfinput_shape	__class__s     ^/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/layers/merging/subtract.pyr   Subtract.build1   s=    k"{q ))47  !    c                 R    [        U5      S:w  a  [        SU 35      eUS   US   -
  $ )Nr
   zJA `Subtract` layer should be called on exactly 2 inputs. Received: inputs=r      )r   r   )r   inputss     r   _merge_functionSubtract._merge_function:   s?    v;!$$*8-  ay6!9$$r    )__name__
__module____qualname____firstlineno____doc__r   shape_type_conversionr   r   __static_attributes____classcell__)r   s   @r   r   r      s,    , ## $% %r   r   zkeras.layers.subtractc                 $    [        S0 UD6" U 5      $ )ay  Functional interface to the `Subtract` layer.

Args:
    inputs: A list of input tensors (exactly 2).
    **kwargs: Standard layer keyword arguments.

Returns:
    A tensor, the difference of the inputs.

Examples:

```python
    import tf_keras.src as keras

    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)
```
r   )r   )r   kwargss     r   subtractr%   C   s    4 ff%%r   N)	r   &tf_keras.src.layers.merging.base_merger   tf_keras.src.utilsr    tensorflow.python.util.tf_exportr   r   r%   r   r   r   <module>r)      sS    ' : ' : %&&%v &% '&%R %&& '&r   