code: def downdate_current_rank(self, device, down_rate=4):
      self.current_rank[0] -= self.rank_inc[0] * down_rate
      self.current_rank[1] -= self.rank_inc[1] * down_rate
      d_line_dim = [
          self.density_line_mask[i].size()
          for i in range(len(self.vecMode))
      ]
      a_line_dim = [
          self.app_line_mask[i].size() for i in range(len(self.vecMode))
      ]
      d_plane_dim = [
          self.density_plane_mask[i].size()
          for i in range(len(self.matMode))
      ]
      a_plane_dim = [
          self.app_plane_mask[i].size()
          for i in range(len(self.matMode))
      ]
      d_line_mask = [
          torch.nn.Parameter(
              self.rank_mask(
                  self.current_rank[0],
                  self.density_n_comp[i],
                  d_line_dim[i][2],
                  1,
                  device,
              )
          )
          for i in range(len(self.vecMode))
      ]
      a_line_mask = [
          torch.nn.Parameter(
              self.rank_mask(
                  self.current_rank[1],
                  self.app_n_comp[i],
                  a_line_dim[i][2],
                  1,
                  device,
              )
          )
          for i in range(len(self.vecMode))
      ]
      d_plane_mask = [
          torch.nn.Parameter(
              self.rank_mask(
                  self.current_rank[0],
                  self.density_n_comp[i],
                  d_plane_dim[i][2],
                  d_plane_dim[i][3],
                  device,
              )
          )
          for i in range(len(self.matMode))
      ]
      a_plane_mask = [
          torch.nn.Parameter(
              self.rank_mask(
                  self.current_rank[1],
                  self.app_n_comp[i],
                  a_plane_dim[i][2],
                  a_plane_dim[i][3],
                  device,
              )
          )
          for i in range(len(self.matMode))
      ]
      self.density_line_mask = torch.nn.ParameterList(d_line_mask).to(
          device
      )
      self.app_line_mask = torch.nn.ParameterList(a_line_mask).to(
          device
      )
      self.density_plane_mask = torch.nn.ParameterList(d_plane_mask).to(
          device
      )
      self.app_plane_mask = torch.nn.ParameterList(a_plane_mask).to(
          device
      )
      self.density_line = torch.nn.ParameterList(
          [
              torch.nn.Parameter(
                  self.density_line[i] * self.density_line_mask[i]
              )
              for i in range(len(self.vecMode))
          ]
      )
      self.app_line = torch.nn.ParameterList(
          [
              torch.nn.Parameter(
                  self.app_line[i] * self.app_line_mask[i]
              )
              for i in range(len(self.vecMode))
          ]
      )
      self.density_plane = torch.nn.ParameterList(
          [
              torch.nn.Parameter(
                  self.density_plane[i] * self.density_plane_mask[i]
              )
              for i in range(len(self.matMode))
          ]
      )
      self.app_plane = torch.nn.ParameterList(
          [
              torch.nn.Parameter(
                  self.app_plane[i] * self.app_plane_mask[i]
              )
              for i in range(len(self.matMode))
          ]
      )
  
file_path: slimmerf/models/tensoRF.py
imports: from .tensorBase import *
label_desc: Use image node_id 4 for calling the TensorVMSplit obj's underlying member method code with example usage: obj.downdate_current_rank(device, down_rate) without return types