
    0h~                     d    d Z ddlmZ ddlmZ ddlmZ ddlmZ  ed       G d de             Z	y	)
z)Exponential Linear Unit activation layer.    )backend)Layer)tf_utils)keras_exportzkeras.layers.ELUc                   X     e Zd ZdZd fd	Zd Z fdZej                  d        Z	 xZ
S )ELUa  Exponential Linear Unit.

    It follows:

    ```
        f(x) =  alpha * (exp(x) - 1.) for x < 0
        f(x) = x for x >= 0
    ```

    Input shape:
        Arbitrary. Use the keyword argument `input_shape`
        (tuple of integers, does not include the samples axis)
        when using this layer as the first layer in a model.

    Output shape:
        Same shape as the input.

    Args:
        alpha: Scale for the negative factor.
    c                     t        |   di | |t        d|       d| _        t	        j
                  |      | _        y )NzCAlpha of an ELU layer cannot be None, expecting a float. Received: T )super__init__
ValueErrorsupports_maskingr   cast_to_floatxalpha)selfr   kwargs	__class__s      \/var/www/html/engine/venv/lib/python3.12/site-packages/tf_keras/src/layers/activation/elu.pyr   zELU.__init__1   sP    "6"="G%  !%++E2
    c                 B    t        j                  || j                        S N)r   elur   )r   inputss     r   callzELU.call;   s    {{64::..r   c                     dt        | j                        i}t        |          }t	        t        |j                               t        |j                               z         S )Nr   )floatr   r   
get_configdictlistitems)r   configbase_configr   s      r   r   zELU.get_config>   sL    5,-g(*D**,-V\\^0DDEEr   c                     |S r   r
   )r   input_shapes     r   compute_output_shapezELU.compute_output_shapeC   s    r   )g      ?)__name__
__module____qualname____doc__r   r   r   r   shape_type_conversionr%   __classcell__)r   s   @r   r   r      s2    *3/F
 ## $r   r   N)
r)   tf_keras.srcr   tf_keras.src.engine.base_layerr   tf_keras.src.utilsr    tensorflow.python.util.tf_exportr   r   r
   r   r   <module>r0      s;    0 ! 0 ' :  !*% * "*r   