code: def init_sh_transform_matrices(self):
      v_to_sh_transform = torch.tensor(
          [[0, 0, -1], [-1, 0, 0], [0, 1, 0]], dtype=torch.float32
      )
      sh_to_v_transform = v_to_sh_transform.transpose(0, 1)
      self.register_buffer(
          "sh_to_v_transform", sh_to_v_transform.unsqueeze(0)
      )
      self.register_buffer(
          "v_to_sh_transform", v_to_sh_transform.unsqueeze(0)
      )
  
imports: import torch
  import torch.nn
  import torchvision
  import numpy
  import torch
  from torch.nn.functional import silu
  from einops import rearrange, repeat
  from utils.general_utils import matrix_to_quaternion, quaternion_raw_multiply
  from utils.graphics_utils import fov2focal
label_desc: Use image node_id 2 for calling the GaussianSplatPredictor obj's underlying member method code with example usage: obj.init_sh_transform_matrices() without return types