class_docstr: Standard points generator for multi-level (Mlvl) feature maps in 2D
  points-based detectors.
  
  Args:
      strides (list[int] | list[tuple[int, int]]): Strides of anchors
          in multiple feature levels in order (w, h).
      offset (float): The offset of points, the value is normalized with
          corresponding stride. Defaults to 0.5.
class_docstr_tok: ["Standard","points","generator","for","multi-level","(","Mlvl",")","feature","maps","in","2D","points-based","detectors",".","Args",":","strides","(","list","[","int","]","|","list","[","tuple","[","int",",","int","]","]",")",":","Strides","of","anchors","in","multiple","feature","levels","in","order","(","w",",","h",")",".","offset","(","float",")",":","The","offset","of","points",",","the","value","is","normalized","with","corresponding","stride",".","Defaults","to","0.5","."]
code: def _meshgrid(
      self, x: Tensor, y: Tensor, row_major: bool = True
  ) -> Tuple[Tensor, Tensor]:
      yy, xx = torch.meshgrid(y, x)
      if row_major:
          # warning .flatten() would cause error in ONNX exporting
          # have to use reshape here
          return xx.reshape(-1), yy.reshape(-1)
  
      else:
          return yy.reshape(-1), xx.reshape(-1)
  
file_path: mmdetection/mmdet/models/task_modules/prior_generators/point_generator.py
imports: from typing import List, Tuple, Union
  import numpy
  import torch
  from torch import Tensor
  from torch.nn.modules.utils import _pair
  from mmdet.registry import TASK_UTILS
label_desc: Use image node_id 4 for calling the MlvlPointGenerator obj's underlying member method code with example usage: obj._meshgrid(x, y, row_major) and returns: xx,  yy, yy,  xx