class_docstr: Computes the pairwise distance between input vectors, or between columns of input matrices.
  
  Distances are computed using ``p``-norm, with constant ``eps`` added to avoid division by zero
  if ``p`` is negative, i.e.:
  
  .. math ::
      \mathrm{dist}\left(x, y\right) = \left\Vert x-y + \epsilon e \right\Vert_p,
  
  where :math:`e` is the vector of ones and the ``p``-norm is given by.
  
  .. math ::
      \Vert x \Vert _p = \left( \sum_{i=1}^n  \vert x_i \vert ^ p \right) ^ {1/p}.
  
  Args:
      p (real, optional): the norm degree. Can be negative. 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)
class_docstr_tok: ["Computes","the","pairwise","distance","between","input","vectors",",","or","between","columns","of","input","matrices",".","Distances","are","computed","using","``","p","``","-norm",",","with","constant","``","eps","``","added","to","avoid","division","by","zero","if","``","p","``","is","negative",",","i.e",".",":","..","math",":",":","\\mathrm","{","dist","}","\\left","(","x",",","y\\right",")","=","\\left\\Vert","x-y","+","\\epsilon","e","\\right\\Vert_p",",","where",":","math",":","`","e","`","is","the","vector","of","ones","and","the","``","p","``","-norm","is","given","by",".","..","math",":",":","\\Vert","x","\\Vert","_p","=","\\left","(","\\sum_","{","i=1","}","^n","\\vert","x_i","\\vert","^","p","\\right",")","^","{","1\/p","}",".","Args",":","p","(","real",",","optional",")",":","the","norm","degree",".","Can","be","negative",".","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",")"]
code: def forward(self, x1: Tensor, x2: Tensor) -> Tensor:
      return F.pairwise_distance(
          x1, x2, self.norm, self.eps, self.keepdim
      )
  
file_path: pytorch/torch/nn/modules/distance.py
imports: from .module import Module
  from ..None import functional
  from torch import Tensor
label_desc: Use image node_id 2 for calling the PairwiseDistance obj's underlying member method code with example usage: obj.forward(x1, x2) and returns: F