class_docstr: An aggregation operator that takes the feature-wise standard deviation
  across a set of elements.
  
  .. math::
      \mathrm{std}(\mathcal{X}) = \sqrt{\mathrm{var}(\mathcal{X})}.
  
  Args:
      semi_grad (bool, optional): If set to :obj:`True`, will turn off
          gradient calculation during :math:`E[X^2]` computation. Therefore,
          only semi-gradients are used during backpropagation. Useful for
          saving memory and accelerating backward computation.
          (default: :obj:`False`)
code: def __init__(self, semi_grad: bool = False):
      super().__init__()
      self.var_aggr = VarAggregation(semi_grad)
  
imports: import math
  from typing import Optional
  import torch
  from torch import Tensor
  from torch.nn import Parameter
  from torch_geometric.nn.aggr import Aggregation
  from torch_geometric.utils import softmax
label_desc: Use image node_id 1 to create a new StdAggregation object from inherited base classes: Aggregation with example: obj = StdAggregation(semi_grad)