class_docstr: Position embedding with learnable embedding weights.
  
  Args:
      num_feats (int): The feature dimension for each position
          along x-axis or y-axis. The final returned dimension for
          each position is 2 times of this value.
      row_num_embed (int, optional): The dictionary size of row embeddings.
          Default 50.
      col_num_embed (int, optional): The dictionary size of col embeddings.
          Default 50.
      init_cfg (dict or list[dict], optional): Initialization config dict.
class_docstr_tok: ["Position","embedding","with","learnable","embedding","weights",".","Args",":","num_feats","(","int",")",":","The","feature","dimension","for","each","position","along","x-axis","or","y-axis",".","The","final","returned","dimension","for","each","position","is","2","times","of","this","value",".","row_num_embed","(","int",",","optional",")",":","The","dictionary","size","of","row","embeddings",".","Default","50.","col_num_embed","(","int",",","optional",")",":","The","dictionary","size","of","col","embeddings",".","Default","50.","init_cfg","(","dict","or","list","[","dict","]",",","optional",")",":","Initialization","config","dict","."]
docstr: str: a string that describes the module
docstr_tok: ["str",":","a","string","that","describes","the","module"]
code: def __repr__(self):
      """str: a string that describes the module"""
      repr_str = self.__class__.__name__
      repr_str += f"(num_feats={self.num_feats}, "
      repr_str += f"row_num_embed={self.row_num_embed}, "
      repr_str += f"col_num_embed={self.col_num_embed})"
      return repr_str
  
file_path: dinov2/dinov2/eval/segmentation_m2f/models/utils/positional_encoding.py
imports: import math
  import torch
  import torch.nn
  from mmcv.cnn.bricks.transformer import POSITIONAL_ENCODING
  from mmcv.runner import BaseModule
label_desc: Use image node_id 3 for calling the LearnedPositionalEncoding obj's underlying member method code with example usage: obj.__repr__() and returns: repr_str