class_docstr: Cfa Loss.
  
  Args:
      num_nearest_neighbors (int): Number of nearest neighbors.
      num_hard_negative_features (int): Number of hard negative features.
      radius (float): Radius of the hypersphere to search the soft boundary.
class_docstr_tok: ["Cfa","Loss",".","Args",":","num_nearest_neighbors","(","int",")",":","Number","of","nearest","neighbors",".","num_hard_negative_features","(","int",")",":","Number","of","hard","negative","features",".","radius","(","float",")",":","Radius","of","the","hypersphere","to","search","the","soft","boundary","."]
code: def __init__(
      self,
      num_nearest_neighbors: int,
      num_hard_negative_features: int,
      radius: float,
  ) -> None:
      super().__init__()
      self.num_nearest_neighbors = num_nearest_neighbors
      self.num_hard_negative_features = num_hard_negative_features
      self.radius = torch.ones(1, requires_grad=True) * radius
  
imports: import torch
  from torch import Tensor, nn
label_desc: Use image node_id 1 to create a new CfaLoss object from inherited base classes: nn with example: obj = CfaLoss(num_nearest_neighbors, num_hard_negative_features, radius)