
    Ng                    X    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dS )    )annotationsN)Tensornnc                  J     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.
    皙?dropoutfloatc                    t                                                       || _        t          j        | j                  | _        d S )N)super__init__r	   r   r   dropout_layer)selfr	   	__class__s     `/var/www/html/ai-engine/env/lib/python3.11/site-packages/sentence_transformers/models/Dropout.pyr   zDropout.__init__   s:    Z55    featuresdict[str, Tensor]c                f    |                     d|                     |d                   i           |S )Nsentence_embedding)updater   )r   r   s     r   forwardzDropout.forward   s3    -t/A/A(K_B`/a/abcccr   c                    t          t          j                            |d          d          5 }t	          j        d| j        i|           d d d            d S # 1 swxY w Y   d S )Nconfig.jsonwr	   )openospathjoinjsondumpr	   )r   output_pathfOuts      r   savezDropout.save   s    "',,{M::C@@ 	7DIy$,/666	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7 	7s   AA Ac                    t          t          j                            | d                    5 }t	          j        |          }d d d            n# 1 swxY w Y   t          di |}|S )Nr    )r   r   r   r   r    loadr   )
input_pathfInconfigmodels       r   r'   zDropout.load   s    "',,z=99:: 	$cYs^^F	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ !!&!!s   AAA)r   )r	   r
   )r   r   )
__name__
__module____qualname____doc__r   r   r$   staticmethodr'   __classcell__)r   s   @r   r   r   	   s         6 6 6 6 6 6 6
   7 7 7   \    r   r   )	
__future__r   r    r   torchr   r   Moduler   r&   r   r   <module>r5      sw    " " " " " "  				            bi     r   