class_docstr: Node attribute masking on the given graph or batched graphs. 
  Class objects callable via method :meth:`views_fn`.
  
  Args:
      mode (string, optinal): Masking mode with three options:
          :obj:`"whole"`: mask all feature dimensions of the selected node with a Gaussian distribution;
          :obj:`"partial"`: mask only selected feature dimensions with a Gaussian distribution;
          :obj:`"onehot"`: mask all feature dimensions of the selected node with a one-hot vector.
          (default: :obj:`"whole"`)
      mask_ratio (float, optinal): The ratio of node attributes to be masked. (default: :obj:`0.1`)
      mask_mean (float, optional): Mean of the Gaussian distribution to generate masking values.
          (default: :obj:`0.5`)
      mask_std (float, optional): Standard deviation of the distribution to generate masking values. 
          Must be non-negative. (default: :obj:`0.5`)
class_docstr_tok: ["Node","attribute","masking","on","the","given","graph","or","batched","graphs",".","Class","objects","callable","via","method",":","meth",":","`","views_fn","`",".","Args",":","mode","(","string",",","optinal",")",":","Masking","mode","with","three","options",":",":","obj",":","`","``","whole","''","`",":","mask","all","feature","dimensions","of","the","selected","node","with","a","Gaussian","distribution",";",":","obj",":","`","``","partial","''","`",":","mask","only","selected","feature","dimensions","with","a","Gaussian","distribution",";",":","obj",":","`","``","onehot","''","`",":","mask","all","feature","dimensions","of","the","selected","node","with","a","one-hot","vector",".","(","default",":",":","obj",":","`","``","whole","''","`",")","mask_ratio","(","float",",","optinal",")",":","The","ratio","of","node","attributes","to","be","masked",".","(","default",":",":","obj",":","`","0.1","`",")","mask_mean","(","float",",","optional",")",":","Mean","of","the","Gaussian","distribution","to","generate","masking","values",".","(","default",":",":","obj",":","`","0.5","`",")","mask_std","(","float",",","optional",")",":","Standard","deviation","of","the","distribution","to","generate","masking","values",".","Must","be","non-negative",".","(","default",":",":","obj",":","`","0.5","`",")"]
code: def __call__(self, data):
      return self.views_fn(data)
  
file_path: DIG/dig/sslgraph/method/contrastive/views_fn/feature.py
imports: import random
  import torch
  import numpy
  from torch_geometric.data import Batch, Data
  from torch_geometric.utils import to_undirected, degree, add_remaining_self_loops
  from dig.sslgraph.utils.adaptive import eigenvector_centrality, feature_drop_weights_dense, feature_drop_weights, compute_pr, drop_feature_weighted
label_desc: Use image node_id 2 for calling the NodeAttrMask obj's underlying member method code with example usage: obj.__call__(data) and returns: self