
    +sg                    Z    d dl mZ d dlZd dlZd dlmZmZ  G d dej                        Zy)    )annotationsN)Tensornnc                  D     e Zd ZdZdd fdZddZd Zed        Z xZ	S )	DropoutzUDropout layer.

    Args:
        dropout: Sets a dropout value for dense layer.
    c                x    t         |           || _        t        j                  | j                        | _        y )N)super__init__dropoutr   r   dropout_layer)selfr   	__class__s     W/var/www/html/venv/lib/python3.12/site-packages/sentence_transformers/models/Dropout.pyr
   zDropout.__init__   s*    ZZ5    c                P    |j                  d| j                  |d         i       |S )Nsentence_embedding)updater   )r   featuress     r   forwardzDropout.forward   s*    -t/A/A(K_B`/abcr   c                    t        t        j                  j                  |d      d      5 }t	        j
                  d| j                  i|       d d d        y # 1 sw Y   y xY w)Nconfig.jsonwr   )openospathjoinjsondumpr   )r   output_pathfOuts      r   savezDropout.save   sI    "'',,{M:C@ 	7DIIy$,,/6	7 	7 	7s   #AA c                    t        t        j                  j                  | d            5 }t	        j
                  |      }d d d        t        di }|S # 1 sw Y   xY w)Nr    )r   r   r   r   r   loadr   )
input_pathfInconfigmodels       r   r$   zDropout.load   sQ    "'',,z=9: 	$cYYs^F	$ !&!		$ 	$s   AA)g?)r   float)r   zdict[str, Tensor])
__name__
__module____qualname____doc__r
   r   r!   staticmethodr$   __classcell__)r   s   @r   r   r   	   s+    6
7  r   r   )	
__future__r   r   r   torchr   r   Moduler   r#   r   r   <module>r3      s!    "  	 bii r   