class_docstr: Scales node positions by a randomly sampled factor :math:`s` within a
  given interval, *e.g.*, resulting in the transformation matrix
  (functional name: :obj:`random_scale`).
  
  .. math::
      \begin{bmatrix}
          s & 0 & 0 \\
          0 & s & 0 \\
          0 & 0 & s \\
      \end{bmatrix}
  
  for three-dimensional positions.
  
  Args:
      scales (tuple): scaling factor interval, e.g. :obj:`(a, b)`, then scale
          is randomly sampled from the range
          :math:`a \leq \mathrm{scale} \leq b`.
code: def forward(self, data: Data) -> Data:
      assert data.pos is not None
  
      scale = random.uniform(*self.scales)
      data.pos = data.pos * scale
      return data
  
file_path: pytorch_geometric/torch_geometric/transforms/random_scale.py
imports: import random
  from typing import Tuple
  from torch_geometric.data import Data
  from torch_geometric.data.datapipes import functional_transform
  from torch_geometric.transforms import BaseTransform
label_desc: Use image node_id 2 for calling the RandomScale obj's underlying member method code with example usage: obj.forward(data) and returns: data