class_docstr: Stores keypoint **annotation** data. GT Instances have a `gt_keypoints` property
  containing the x,y location and visibility flag of each keypoint. This tensor has shape
  (N, K, 3) where N is the number of instances and K is the number of keypoints per instance.
  
  The visibility flag follows the COCO format and must be one of three integers:
  * v=0: not labeled (in which case x=y=0)
  * v=1: labeled but not visible
  * v=2: labeled and visible
class_docstr_tok: ["Stores","keypoint","*","*","annotation","*","*","data",".","GT","Instances","have","a","`","gt_keypoints","`","property","containing","the","x",",","y","location","and","visibility","flag","of","each","keypoint",".","This","tensor","has","shape","(","N",",","K",",","3",")","where","N","is","the","number","of","instances","and","K","is","the","number","of","keypoints","per","instance",".","The","visibility","flag","follows","the","COCO","format","and","must","be","one","of","three","integers",":","*","v=0",":","not","labeled","(","in","which","case","x=y=0",")","*","v=1",":","labeled","but","not","visible","*","v=2",":","labeled","and","visible"]
docstr: Arguments:
      keypoints: A Tensor, numpy array, or list of the x, y, and visibility of each keypoint.
          The shape should be (N, K, 3) where N is the number of
          instances, and K is the number of keypoints per instance.
docstr_tok: ["Arguments",":","keypoints",":","A","Tensor",",","numpy","array",",","or","list","of","the","x",",","y",",","and","visibility","of","each","keypoint",".","The","shape","should","be","(","N",",","K",",","3",")","where","N","is","the","number","of","instances",",","and","K","is","the","number","of","keypoints","per","instance","."]
code: def __init__(
      self,
      keypoints: Union[torch.Tensor, np.ndarray, List[List[float]]],
  ):
      """
      Arguments:
          keypoints: A Tensor, numpy array, or list of the x, y, and visibility of each keypoint.
              The shape should be (N, K, 3) where N is the number of
              instances, and K is the number of keypoints per instance.
      """
      device = (
          keypoints.device
          if isinstance(keypoints, torch.Tensor)
          else torch.device("cpu")
      )
      keypoints = torch.as_tensor(
          keypoints, dtype=torch.float32, device=device
      )
      assert (
          keypoints.dim() == 3 and keypoints.shape[2] == 3
      ), keypoints.shape
      self.tensor = keypoints
  
file_path: gluon-cv/gluoncv/torch/data/structures/keypoints.py
imports: from typing import Any, List, Tuple, Union
  import numpy
  import torch
label_desc: Use image node_id 1 to create a new Keypoints object  with example: obj = Keypoints(keypoints)