a
    h.                     @  sz   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  mZ	 d dl
mZ d dlmZ G dd deZdS )    )annotations)SelfN)Tensor)Modulec                      s`   e Zd ZdZdd fddZddddd	Zd
dddddddZeddddZ  Z	S )	Normalizez/This layer normalizes embeddings to unit lengthNone)returnc                   s   t    d S N)super__init__)self	__class__ b/var/www/html/assistant/venv/lib/python3.9/site-packages/sentence_transformers/models/Normalize.pyr      s    zNormalize.__init__zdict[str, Tensor])featuresr   c                 C  s"   | dtj|d dddi |S )NZsentence_embedding      )pdim)updateF	normalize)r   r   r   r   r   forward   s    zNormalize.forwardT)safe_serializationstrbool)output_pathr   r   c                O  s   d S r	   r   )r   r   r   argskwargsr   r   r   save   s    zNormalize.saver   c                 O  s   |  S r	   r   )clsr   r   r   r   r   load   s    zNormalize.load)
__name__
__module____qualname____doc__r   r   r    classmethodr"   __classcell__r   r   r   r   r      s   r   )
__future__r   typingr   ImportErrorZtyping_extensionsZtorch.nn.functionalnnZ
functionalr   Ztorchr   Z#sentence_transformers.models.Moduler   r   r   r   r   r   <module>   s   