
    +sgb                    \    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	y)    )annotationsN)Tensornnc                  F     e Zd ZdZd fdZddZddZedd       Z xZ	S )		Normalizez/This layer normalizes embeddings to unit lengthc                "    t         |           y N)super__init__)self	__class__s    Y/var/www/html/venv/lib/python3.12/site-packages/sentence_transformers/models/Normalize.pyr   zNormalize.__init__
   s        c                ^    |j                  dt        j                  |d   dd      i       |S )Nsentence_embedding      )pdim)updateF	normalize)r   featuress     r   forwardzNormalize.forward   s.    -q{{8DX;Y]^de/fghr   c                     y r	    )r   output_paths     r   savezNormalize.save   s    r   c                    t               S r	   )r   )
input_paths    r   loadzNormalize.load   s
    {r   )returnNone)r   dict[str, Tensor]r"   r$   )r"   r   )
__name__
__module____qualname____doc__r   r   r   staticmethodr!   __classcell__)r   s   @r   r   r      s)    9  r   r   )

__future__r   torch.nn.functionalr   
functionalr   torchr   Moduler   r   r   r   <module>r0      s!    "   		 r   