code: def symbolic(
      g,
      features,
      rois,
      out_size,
      spatial_scale,
      sample_num,
      aligned,
      clockwise,
  ):
      if isinstance(out_size, int):
          out_h = out_size
          out_w = out_size
      elif isinstance(out_size, tuple):
          assert len(out_size) == 2
          assert isinstance(out_size[0], int)
          assert isinstance(out_size[1], int)
          out_h, out_w = out_size
      else:
          raise TypeError(
              '"out_size" must be an integer or tuple of integers'
          )
      return g.op(
          "mmcv::MMCVRoIAlignRotated",
          features,
          rois,
          output_height_i=out_h,
          output_width_i=out_h,
          spatial_scale_f=spatial_scale,
          sampling_ratio_i=sample_num,
          aligned_i=aligned,
          clockwise_i=clockwise,
      )
  
file_path: lavis/lavis/common/annotator/uniformer/mmcv/ops/roi_align_rotated.py
imports: import torch.nn
  from torch.autograd import Function
  from ..utils import ext_loader
label_desc: Use image node_id 1 for calling the RoIAlignRotatedFunction obj's underlying member method code with example usage: obj.symbolic(g, features, rois, out_size, spatial_scale, sample_num, aligned, clockwise) and returns: g