a
    h                     @  sl   d dl mZ zd dlmZ W n ey:   d dlmZ Y n0 d dlmZmZ d dl	m
Z
 G dd de
ZdS )    )annotations)Self)Tensornn)Modulec                
      sz   e Zd ZU dgZded< dd fddZdd	d
dZdd ZddddddZe	dddddddddddZ
  ZS ) 	LayerNorm	dimensionz	list[str]config_keysintr   c                   s    t    || _t|| _d S N)super__init__r   r   r   norm)selfr   	__class__ b/var/www/html/assistant/venv/lib/python3.9/site-packages/sentence_transformers/models/LayerNorm.pyr      s    
zLayerNorm.__init__zdict[str, Tensor])featuresc                 C  s   |  |d |d< |S )NZsentence_embedding)r   )r   r   r   r   r   forward   s    zLayerNorm.forwardc                 C  s   | j S r   r   )r   r   r   r    get_sentence_embedding_dimension   s    z*LayerNorm.get_sentence_embedding_dimensionTboolNone)safe_serializationreturnc                 C  s   |  | | j||d d S )N)r   )Zsave_configZsave_torch_weights)r   Zoutput_pathr   r   r   r   save   s    
zLayerNorm.save NFstrzbool | str | Nonez
str | Noner   )model_name_or_path	subfoldertokencache_folderrevisionlocal_files_onlyr   c                 K  sL   |||||d}| j f d|i|}	| f i |	}
| jf ||
d|}
|
S )N)r    r!   r"   r#   r$   r   )r   model)Zload_configZload_torch_weights)clsr   r    r!   r"   r#   r$   kwargsZ
hub_kwargsconfigr%   r   r   r   load    s    zLayerNorm.load)T)r   NNNF)__name__
__module____qualname__r	   __annotations__r   r   r   r   classmethodr)   __classcell__r   r   r   r   r      s   
     r   N)
__future__r   typingr   ImportErrorZtyping_extensionsZtorchr   r   Z#sentence_transformers.models.Moduler   r   r   r   r   r   <module>   s   