code: def evc_drop_weights(data):
      """Returns the dropping weight of each edge depending on the Eigen vector centrality
      Args:
          edge_index (torch.Tensor): A tensor of shape [2, n_edges]
      :rtype: :class:`Tensor`
      """
      evc = eigenvector_centrality(data)
      evc = evc.where(evc > 0, torch.zeros_like(evc))
      evc = evc + 1e-8
      s = evc.log()
  
      edge_index = data.edge_index
      s_row, s_col = s[edge_index[0]], s[edge_index[1]]
      s = s_col
  
      return (s.max() - s) / (s.max() - s.mean())
  
file_path: DIG/dig/sslgraph/utils/adaptive.py
imports: import torch
  from torch.utils.data import random_split
  from torch_geometric.utils import degree, remove_self_loops, get_laplacian, to_undirected, to_dense_adj, to_networkx, degree, to_undirected
  from torch_scatter import scatter
  import networkx
label_desc: Use image node_id 9 for calling a global function with example usage: evc_drop_weights(data) and returns: unknown