
    &Vf                     v    d dl Z d dlZd dlmZ d dlmZ d Zd Zd Z ed          dd	            Z	d
 Z
d ZdS )    N)keras_export)global_statec                 >    t          |           } t          |           S )N)to_snake_caseuniquify)prefixs    S/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/utils/naming.py	auto_namer
      s    6""FF    c                     t          j        dt          j        t                    d          }| |v r|  d||           }n| }|| xx         dz  cc<   |S )Nobject_name_uidsTdefaultset_to_default_   r   get_global_attributecollectionsdefaultdictint)namer   unique_names      r	   r   r      s~    #8',,  
 88 0 688Tar   c                     t          j        dd|           } t          j        dd|           } t          j        dd|                                           } | S )Nz\W+ z(.)([A-Z][a-z]+)z\1_\2z([a-z])([A-Z]))resublower)r   s    r	   r   r      sN    6&"d##D6$h55D6"Hd3399;;DKr   zkeras.backend.get_uidr   c                     t          j        dt          j        t                    d          }|| xx         dz  cc<   ||          S )zAssociates a string prefix with an integer counter.

    Args:
        prefix: String prefix to index.

    Returns:
        Unique integer ID.

    Example:

    >>> get_uid('dense')
    1
    >>> get_uid('dense')
    2
    r   Tr   r   r   )r   r   s     r	   get_uidr    "   sY    " $8',,  
 V!F##r   c                  ^    t          j        dt          j        t                               d S )Nr   )r   set_global_attributer   r   r    r   r	   
reset_uidsr$   <   s1    %K3C88    r   c                    t          | d          r| j        S t          | d          rt          | j                  S t          | d          rt          | j        j                  S t          t          |                     S )Nr   __name__	__class__)hasattrr   r   r&   r'   str)objs    r	   get_object_namer+   B   sv    sF 5x	j	!	! 5S\***	k	"	" 5S]3444S"""r   )r   )r   r   keras.src.api_exportr   keras.src.backend.commonr   r
   r   r   r    r$   r+   r#   r   r	   <module>r.      s        				 - - - - - - 1 1 1 1 1 1  
     %&&$ $ $ '&$2  # # # # #r   