code: def _extract_nodes_feature(
      self, data: autogl.data.Data
  ) -> torch.Tensor:
      if data.x is not None and isinstance(data.x, torch.Tensor):
          data.x.div_(data.x.sum(dim=-1, keepdim=True).clamp_(min=1.0))
      return data.x
  
file_path: AutoGL/autogl/module/preprocessing/feature_engineering/_generators/_pyg.py
imports: import torch.nn.functional
  import autogl
  from ._basic import BaseFeatureGenerator
  from ._pyg_impl import degree, scatter_min, scatter_max, scatter_mean, scatter_std
  from ..._data_preprocessor_registry import DataPreprocessorUniversalRegistry
label_desc: Use image node_id 2 for calling the NormalizeFeatures obj's underlying member method code with example usage: obj._extract_nodes_feature(data) and returns: data