code: def pdist(sample_1, sample_2, eps=1e-5):
      """Compute the matrix of all squared pairwise distances. Code
      adapted from the torch-two-sample library (added batching).
      You can find the original implementation of this function here:
      https://github.com/josipd/torch-two-sample/blob/master/torch_two_sample/util.py
  
      Arguments
      ---------
      sample_1 : torch.Tensor or Variable
          The first sample, should be of shape ``(batch_size, n_1, d)``.
      sample_2 : torch.Tensor or Variable
          The second sample, should be of shape ``(batch_size, n_2, d)``.
      norm : float
          The l_p norm to be used.
      batched : bool
          whether data is batched
  
      Returns
      -------
      torch.Tensor or Variable
          Matrix of shape (batch_size, n_1, n_2). The [i, j]-th entry is equal to
          ``|| sample_1[i, :] - sample_2[j, :] ||_p``."""
      if len(sample_1.shape) == 2:
          sample_1, sample_2 = sample_1.unsqueeze(
              0
          ), sample_2.unsqueeze(0)
      B, n_1, n_2 = sample_1.size(0), sample_1.size(1), sample_2.size(1)
      norms_1 = torch.sum(sample_1**2, dim=-1, keepdim=True)
      norms_2 = torch.sum(sample_2**2, dim=-1, keepdim=True)
      norms = norms_1.expand(B, n_1, n_2) + norms_2.transpose(
          1, 2
      ).expand(B, n_1, n_2)
      distances_squared = norms - 2 * sample_1.matmul(
          sample_2.transpose(1, 2)
      )
      return torch.sqrt(eps + torch.abs(distances_squared)).squeeze()
  
imports: import math
  import os
  import shutil
  import sys
  import time
  import torch
  import torch.distributions
  import torch.nn.functional
  from datasets import CUBImageFt
label_desc: Use image node_id 8 for calling a global function with example usage: pdist(sample_1, sample_2, eps) and returns: torch