
    sih                     Z    d dl mZ d dlmc mZ d dlmZmZ  G d dej                  Z	dS )    )DictN)Tensornnc                   t     e Zd ZdZd	 fdZdeeef         deeef         fdZd	dZ	e
d
d            Z xZS )	Normalizez/This layer normalizes embeddings to unit lengthreturnNc                 V    t          t          |                                            d S N)superr   __init__)self	__class__s    Y/var/www/icac/venv/lib/python3.11/site-packages/sentence_transformers/models/Normalize.pyr   zNormalize.__init__
   s%    i'')))))    featuresc                 j    |                     dt          j        |d         dd          i           |S )Nsentence_embedding      )pdim)updateF	normalize)r   r   s     r   forwardzNormalize.forward   s8    -q{8DX;Y]^de/f/f/fghhhr   c                     d S r
    )r   output_paths     r   savezNormalize.save   s    r   c                     t                      S r
   )r   )
input_paths    r   loadzNormalize.load   s    {{r   )r   N)r   r   )__name__
__module____qualname____doc__r   r   strr   r   r   staticmethodr"   __classcell__)r   s   @r   r   r      s        99* * * * * *S&[ 1 d3;6G           \    r   r   )
typingr   torch.nn.functionalr   
functionalr   torchr   Moduler   r   r   r   <module>r/      s                              	     r   