code: def uniform_node_feat_mask(self, data):
      x = data.x.detach().clone()
      drop_mask = (
          torch.empty(x.shape, dtype=torch.float32).uniform_(0, 1)
          < self.magnitude
      )
  
      if self.mask_type == MaskType.ZERO:
          x[drop_mask] = 0
      elif self.mask_type == MaskType.GAUSSIAN:
          x[drop_mask] = x[drop_mask].normal_(0.0, 0.5)
  
      new_data = Data(x=x, edge_index=data.edge_index, y=data.y)
      return new_data, None
  
file_path: DIG/dig/auggraph/method/GraphAug/aug/node_fm.py
imports: import torch
  import torch.nn.functional
  from torch.distributions.bernoulli import Bernoulli
  from torch_geometric.data import Data
  from ..constants import *
label_desc: Use image node_id 3 for calling the NodeFM obj's underlying member method code with example usage: obj.uniform_node_feat_mask(data) and returns: new_data,  None