[docs]classPairwiseDistance(Module):r""" Computes the pairwise distance between vectors :math:`v_1`, :math:`v_2` using the p-norm: .. math :: \Vert x \Vert _p = \left( \sum_{i=1}^n \vert x_i \vert ^ p \right) ^ {1/p}. Args: p (real): the norm degree. Default: 2 eps (float, optional): Small value to avoid division by zero. Default: 1e-6 keepdim (bool, optional): Determines whether or not to keep the vector dimension. Default: False Shape: - Input1: :math:`(N, D)` or :math:`(D)` where `N = batch dimension` and `D = vector dimension` - Input2: :math:`(N, D)` or :math:`(D)`, same shape as the Input1 - Output: :math:`(N)` or :math:`()` based on input dimension. If :attr:`keepdim` is ``True``, then :math:`(N, 1)` or :math:`(1)` based on input dimension. Examples:: >>> pdist = nn.PairwiseDistance(p=2) >>> input1 = torch.randn(100, 128) >>> input2 = torch.randn(100, 128) >>> output = pdist(input1, input2) """__constants__=['norm','eps','keepdim']norm:floateps:floatkeepdim:booldef__init__(self,p:float=2.,eps:float=1e-6,keepdim:bool=False)->None:super(PairwiseDistance,self).__init__()self.norm=pself.eps=epsself.keepdim=keepdimdefforward(self,x1:Tensor,x2:Tensor)->Tensor:returnF.pairwise_distance(x1,x2,self.norm,self.eps,self.keepdim)
classCosineSimilarity(Module):r"""Returns cosine similarity between :math:`x_1` and :math:`x_2`, computed along `dim`. .. math :: \text{similarity} = \dfrac{x_1 \cdot x_2}{\max(\Vert x_1 \Vert _2 \cdot \Vert x_2 \Vert _2, \epsilon)}. Args: dim (int, optional): Dimension where cosine similarity is computed. Default: 1 eps (float, optional): Small value to avoid division by zero. Default: 1e-8 Shape: - Input1: :math:`(\ast_1, D, \ast_2)` where D is at position `dim` - Input2: :math:`(\ast_1, D, \ast_2)`, same number of dimensions as x1, matching x1 size at dimension `dim`, and broadcastable with x1 at other dimensions. - Output: :math:`(\ast_1, \ast_2)` Examples:: >>> input1 = torch.randn(100, 128) >>> input2 = torch.randn(100, 128) >>> cos = nn.CosineSimilarity(dim=1, eps=1e-6) >>> output = cos(input1, input2) """__constants__=['dim','eps']dim:inteps:floatdef__init__(self,dim:int=1,eps:float=1e-8)->None:super(CosineSimilarity,self).__init__()self.dim=dimself.eps=epsdefforward(self,x1:Tensor,x2:Tensor)->Tensor:returnF.cosine_similarity(x1,x2,self.dim,self.eps)
Docs
Access comprehensive developer documentation for PyTorch
To analyze traffic and optimize your experience, we serve cookies on this site. By clicking or navigating, you agree to allow our usage of cookies. As the current maintainers of this site, Facebook’s Cookies Policy applies. Learn more, including about available controls: Cookies Policy.