Default: "'mean'"
Shape:
      * Input: (N, *) where * represents any number of additional
        dimensions as supported by the distance function.
  * Output: A Tensor of shape (N) if "reduction" is "'none'", or a
    scalar otherwise.

Examples:
  >>> # Initialize embeddings
  >>> embedding = nn.Embedding(1000, 128)
  >>> anchor_ids = torch.randint(0, 1000, (1,))
  >>> positive_ids = torch.randint(0, 1000, (1,))
  >>> negative_ids = torch.randint(0, 1000, (1,))
  >>> anchor = embedding(anchor_ids)
  >>> positive = embedding(positive_ids)
  >>> negative = embedding(negative_ids)
  >>>
  >>> # Built-in Distance Function
  >>> triplet_loss = \
  >>>     nn.TripletMarginWithDistanceLoss(distance_function=nn.PairwiseDistance())
  >>> output = triplet_loss(anchor, positive, negative)
  >>> output.backward()
  >>>
  >>> # Custom Distance Function
  >>> def l_infinity(x1, x2):
