o
    ü* i–  ã                   @  sR   d dl mZ g ZG dd„ dƒZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZd
S )é    )Úannotationsc                   @  s$   e Zd ZdZd
dd„Zddd„Zd	S )Ú	EntryAttraX  
    Entry Config for paddle.static.nn.sparse_embedding with Parameter Server.

    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.enable_static()

            >>> sparse_feature_dim = 1024
            >>> embedding_size = 64

            >>> entry = paddle.distributed.ProbabilityEntry(0.1)

            >>> input = paddle.static.data(name='ins', shape=[1], dtype='int64')

            >>> emb = paddle.static.nn.sparse_embedding(
            ...     input=input,
            ...     size=[sparse_feature_dim, embedding_size],
            ...     is_test=False,
            ...     entry=entry,
            ...     param_attr=paddle.ParamAttr(
            ...         name="SparseFeatFactors",
            ...         initializer=paddle.nn.initializer.Uniform()
            ...     )
            ... )

    ÚreturnÚNonec                 C  s
   d | _ d S )N)Ú_name©Úself© r	   úi/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/paddle/distributed/entry_attr.pyÚ__init__1   s   
zEntryAttr.__init__Ústrc                 C  s   t dƒ‚)z–
        Returns the attributes of this parameter.

        Returns:
            Parameter attributes(map): The attributes of this parameter.
        zEntryAttr is base class)ÚNotImplementedErrorr   r	   r	   r
   Ú_to_attr4   s   zEntryAttr._to_attrN)r   r   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r	   r	   r	   r
   r      s    
r   c                      ó,   e Zd ZdZd‡ fdd„Zdd	d
„Z‡  ZS )ÚProbabilityEntrya
  
    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.enable_static()

            >>> sparse_feature_dim = 1024
            >>> embedding_size = 64

            >>> entry = paddle.distributed.ProbabilityEntry(0.1)

            >>> input = paddle.static.data(name='ins', shape=[1], dtype='int64')

            >>> emb = paddle.static.nn.sparse_embedding(
            ...     input=input,
            ...     size=[sparse_feature_dim, embedding_size],
            ...     is_test=False,
            ...     entry=entry,
            ...     param_attr=paddle.ParamAttr(
            ...         name="SparseFeatFactors",
            ...         initializer=paddle.nn.initializer.Uniform()
            ...     )
            ... )


    ÚprobabilityÚfloatr   r   c                   sD   t ƒ  ¡  t|tƒstdƒ‚|dks|dkrtdƒ‚d| _|| _d S )Nz$probability must be a float in (0,1)r   é   Zprobability_entry)Úsuperr   Ú
isinstancer   Ú
ValueErrorr   Ú_probability)r   r   ©Ú	__class__r	   r
   r   [   s   


zProbabilityEntry.__init__r   c                 C  ó   d  | jt| jƒg¡S ©Nú:)Újoinr   r   r   r   r	   r	   r
   r   g   ó   zProbabilityEntry._to_attr)r   r   r   r   r   ©r   r   r   r   r   r   Ú__classcell__r	   r	   r   r
   r   >   s    r   c                      r   )ÚCountFilterEntrya  
    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.enable_static()

            >>> sparse_feature_dim = 1024
            >>> embedding_size = 64

            >>> entry = paddle.distributed.CountFilterEntry(10)

            >>> input = paddle.static.data(name='ins', shape=[1], dtype='int64')

            >>> emb = paddle.static.nn.sparse_embedding(
            ...     input=input,
            ...     size=[sparse_feature_dim, embedding_size],
            ...     is_test=False,
            ...     entry=entry,
            ...     param_attr=paddle.ParamAttr(
            ...         name="SparseFeatFactors",
            ...         initializer=paddle.nn.initializer.Uniform()
            ...     )
            ... )

    Úcount_filterÚintr   r   c                   s<   t ƒ  ¡  t|tƒstdƒ‚|dk rtdƒ‚d| _|| _d S )Nz3count_filter must be a valid integer greater than 0r   z<count_filter must be a valid integer greater or equal than 0Zcount_filter_entry)r   r   r   r(   r   r   Ú_count_filter)r   r'   r   r	   r
   r   ‡   s   

ÿÿ
zCountFilterEntry.__init__r   c                 C  r   r    )r"   r   r   r)   r   r	   r	   r
   r   —   r#   zCountFilterEntry._to_attr)r'   r(   r   r   r   r$   r	   r	   r   r
   r&   k   s    r&   c                      s,   e Zd ZdZd‡ fdd„Zdd	d
„Z‡  ZS )ÚShowClickEntryaº  
    Examples:
        .. code-block:: python

            >>> import paddle
            >>> paddle.enable_static()

            >>> sparse_feature_dim = 1024
            >>> embedding_size = 64

            >>> shows = paddle.static.data(name='show', shape=[1], dtype='int64')
            >>> clicks = paddle.static.data(name='click', shape=[1], dtype='int64')
            >>> input = paddle.static.data(name='ins', shape=[1], dtype='int64')

            >>> entry = paddle.distributed.ShowClickEntry("show", "click")

            >>> emb = paddle.static.nn.sparse_embedding(
            ...     input=input,
            ...     size=[sparse_feature_dim, embedding_size],
            ...     is_test=False,
            ...     entry=entry,
            ...     param_attr=paddle.ParamAttr(
            ...         name="SparseFeatFactors",
            ...         initializer=paddle.nn.initializer.Uniform()
            ...     )
            ... )


    Ú	show_namer   Ú
click_namer   r   c                   s<   t ƒ  ¡  t|tƒrt|tƒstdƒ‚d| _|| _|| _d S )Nz"show_name click_name must be a strZshow_click_entry)r   r   r   r   r   r   Ú
_show_nameÚ_click_name)r   r+   r,   r   r	   r
   r   º   s   

zShowClickEntry.__init__c                 C  s   d  | j| j| jg¡S r    )r"   r   r-   r.   r   r	   r	   r
   r   Ä   r#   zShowClickEntry._to_attr)r+   r   r,   r   r   r   r   r$   r	   r	   r   r
   r*   ›   s    
r*   N)Ú
__future__r   Ú__all__r   r   r&   r*   r	   r	   r	   r
   Ú<module>   s   +-0