class_docstr: Edge perturbation on the given graph or batched graphs. Class objects callable via 
  method :meth:`views_fn`.
  
  Args:
      add (bool, optional): Set :obj:`True` if randomly add edges in a given graph.
          (default: :obj:`True`)
      drop (bool, optional): Set :obj:`True` if randomly drop edges in a given graph.
          (default: :obj:`False`)
      ratio (float, optional): Percentage of edges to add or drop. (default: :obj:`0.1`)
code: def __init__(self, add=True, drop=False, ratio=0.1):
      self.add = add
      self.drop = drop
      self.ratio = ratio
  
imports: import torch
  from torch_geometric.utils import to_dense_adj, dense_to_sparse, dropout_adj, degree, add_remaining_self_loops
  from sklearn.preprocessing import MinMaxScaler
  from torch_geometric.data import Batch, Data
  from dig.sslgraph.utils.adaptive import degree_drop_weights, pr_drop_weights, evc_drop_weights, drop_edge_weighted
label_desc: Use image node_id 1 to create a new EdgePerturbation object  with example: obj = EdgePerturbation(add, drop, ratio)