docstr: Randomly shear an image with radians (-shear_range, shear_range)
  
  Arguments
  ---------
  shear_range : float
      radian bounds on the shear transform
  
  interp : string in {'bilinear', 'nearest'} or list of strings
      type of interpolation to use. You can provide a different
      type of interpolation for each input, e.g. if you have two
      inputs then you can say `interp=['bilinear','nearest']
  
  lazy    : boolean
      if false, perform the transform on the tensor and return the tensor
      if true, only create the affine transform matrix and return that
docstr_tok: ["Randomly","shear","an","image","with","radians","(","-shear_range",",","shear_range",")","Arguments","--","--","--","--","-","shear_range",":","float","radian","bounds","on","the","shear","transform","interp",":","string","in","{","'bilinear","'",",","'nearest","'","}","or","list","of","strings","type","of","interpolation","to","use",".","You","can","provide","a","different","type","of","interpolation","for","each","input",",","e.g",".","if","you","have","two","inputs","then","you","can","say","`","interp=","[","'bilinear","'",",","'nearest","'","]","lazy",":","boolean","if","false",",","perform","the","transform","on","the","tensor","and","return","the","tensor","if","true",",","only","create","the","affine","transform","matrix","and","return","that"]
code: def __init__(self, shear_range, interp="bilinear", lazy=False):
      """
      Randomly shear an image with radians (-shear_range, shear_range)
  
      Arguments
      ---------
      shear_range : float
          radian bounds on the shear transform
  
      interp : string in {'bilinear', 'nearest'} or list of strings
          type of interpolation to use. You can provide a different
          type of interpolation for each input, e.g. if you have two
          inputs then you can say `interp=['bilinear','nearest']
  
      lazy    : boolean
          if false, perform the transform on the tensor and return the tensor
          if true, only create the affine transform matrix and return that
      """
      self.shear_range = shear_range
      self.interp = interp
      self.lazy = lazy
  
imports: import math
  import random
  import torch
  from ..utils import th_affine2d, th_random_choice
label_desc: Use image node_id 1 to create a new RandomShear object  with example: obj = RandomShear(shear_range, interp, lazy)