class_docstr: Radix Softmax module in ``SplitAttentionConv2d``.
  
  Args:
      radix (int): Radix of input.
      groups (int): Groups of input.
code: def forward(self, x):
      batch = x.size(0)
      if self.radix > 1:
          x = x.view(batch, self.groups, self.radix, -1).transpose(1, 2)
          x = F.softmax(x, dim=1)
          x = x.reshape(batch, -1)
      else:
          x = torch.sigmoid(x)
      return x
  
imports: import math
  import torch
  import torch.nn
  import torch.nn.functional
  import torch.utils.checkpoint
  from mmcv.cnn import build_conv_layer, build_norm_layer
  from mmengine.model import BaseModule
  from mmdet.registry import MODELS
  from ..layers import ResLayer
  from .resnet import Bottleneck
  from .resnet import ResNetV1d
label_desc: Use image node_id 2 for calling the RSoftmax obj's underlying member method code with example usage: obj.forward(x) and returns: x