
    6bi                     h    S 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 adds several inputs.    )_Merge)keras_exportzkeras.layers.Addc                       \ rS rSrSrS rSrg)Add   a#  Layer that adds a list of inputs.

It takes as input a list of tensors,
all of the same shape, and returns
a single tensor (also of the same shape).

Examples:

>>> input_shape = (2, 3, 4)
>>> x1 = tf.random.normal(input_shape)
>>> x2 = tf.random.normal(input_shape)
>>> y = tf.keras.layers.Add()([x1, x2])
>>> print(y.shape)
(2, 3, 4)

Used in a functional model:

>>> input1 = tf.keras.layers.Input(shape=(16,))
>>> x1 = tf.keras.layers.Dense(8, activation='relu')(input1)
>>> input2 = tf.keras.layers.Input(shape=(32,))
>>> x2 = tf.keras.layers.Dense(8, activation='relu')(input2)
>>> # equivalent to `added = tf.keras.layers.add([x1, x2])`
>>> added = tf.keras.layers.Add()([x1, x2])
>>> out = tf.keras.layers.Dense(4)(added)
>>> model = tf.keras.models.Model(inputs=[input1, input2], outputs=out)

c                 V    US   n[        S[        U5      5       H
  nX!U   -  nM     U$ )Nr      )rangelen)selfinputsoutputis       Y/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/layers/merging/add.py_merge_functionAdd._merge_function6   s1    q#f+&AQiF '     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s    8r   r   zkeras.layers.addc                 $    [        S0 UD6" U 5      $ )aM  Functional interface to the `tf.keras.layers.Add` layer.

Args:
    inputs: A list of input tensors with the same shape.
    **kwargs: Standard layer keyword arguments.

Returns:
    A tensor as the sum of the inputs. It has the same shape as the inputs.

Examples:

>>> input_shape = (2, 3, 4)
>>> x1 = tf.random.normal(input_shape)
>>> x2 = tf.random.normal(input_shape)
>>> y = tf.keras.layers.add([x1, x2])
>>> print(y.shape)
(2, 3, 4)

Used in a functional model:

>>> input1 = tf.keras.layers.Input(shape=(16,))
>>> x1 = tf.keras.layers.Dense(8, activation='relu')(input1)
>>> input2 = tf.keras.layers.Input(shape=(32,))
>>> x2 = tf.keras.layers.Dense(8, activation='relu')(input2)
>>> added = tf.keras.layers.add([x1, x2])
>>> out = tf.keras.layers.Dense(4)(added)
>>> model = tf.keras.models.Model(inputs=[input1, input2], outputs=out)

r   )r   )r   kwargss     r   addr   =   s    > ==  r   N)r   &tf_keras.src.layers.merging.base_merger    tensorflow.python.util.tf_exportr   r   r   r   r   r   <module>r       sP    & : :  !!& ! "!H  !! "!r   