
    6biD                     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 averages several inputs.    )_Merge)keras_exportzkeras.layers.Averagec                       \ rS rSrSrS rSrg)Average   aQ  Layer that averages a list of inputs element-wise.

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

Example:

>>> x1 = np.ones((2, 2))
>>> x2 = np.zeros((2, 2))
>>> y = tf.keras.layers.Average()([x1, x2])
>>> y.numpy().tolist()
[[0.5, 0.5], [0.5, 0.5]]

Usage 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)
>>> avg = tf.keras.layers.Average()([x1, x2])
>>> out = tf.keras.layers.Dense(4)(avg)
>>> model = tf.keras.models.Model(inputs=[input1, input2], outputs=out)

Raises:
  ValueError: If there is a shape mismatch between the inputs and the shapes
    cannot be broadcasted to match.
c                 n    US   n[        S[        U5      5       H
  nX!U   -  nM     U[        U5      -  $ )Nr      )rangelen)selfinputsoutputis       ]/home/james-whalen/.local/lib/python3.13/site-packages/tf_keras/src/layers/merging/average.py_merge_functionAverage._merge_function6   s;    q#f+&AQiF 'F##     N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s    8$r   r   zkeras.layers.averagec                 $    [        S0 UD6" U 5      $ )aw  Functional interface to the `tf.keras.layers.Average` layer.

Example:

>>> x1 = np.ones((2, 2))
>>> x2 = np.zeros((2, 2))
>>> y = tf.keras.layers.Average()([x1, x2])
>>> y.numpy().tolist()
[[0.5, 0.5], [0.5, 0.5]]

Usage 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)
>>> avg = tf.keras.layers.Average()([x1, x2])
>>> out = tf.keras.layers.Dense(4)(avg)
>>> model = tf.keras.models.Model(inputs=[input1, input2], outputs=out)

Args:
    inputs: A list of input tensors.
    **kwargs: Standard layer keyword arguments.

Returns:
    A tensor, the average of the inputs.

Raises:
  ValueError: If there is a shape mismatch between the inputs and the shapes
    cannot be broadcasted to match.
r   )r   )r   kwargss     r   averager   =   s    B VV$$r   N)r   &tf_keras.src.layers.merging.base_merger    tensorflow.python.util.tf_exportr   r   r   r   r   r   <module>r       sP    * : : $%!$f !$ &!$H $% % & %r   