code: def forward(self, x, f_args={}, g_args={}):
      x1, x2 = torch.chunk(x, 2, dim=2)
      y1, y2 = None, None
  
      with torch.no_grad():
          y1 = x1 + self.f(x2, record_rng=self.training, **f_args)
          y2 = x2 + self.g(y1, record_rng=self.training, **g_args)
  
      return torch.cat([y1, y2], dim=2)
  
imports: import torch
  import torch.nn
  from operator import itemgetter
  from torch.autograd.function import Function
  from torch.utils.checkpoint import get_device_states, set_device_states
label_desc: Use image node_id 2 for calling the ReversibleBlock obj's underlying member method code with example usage: obj.forward(x, f_args, g_args) and returns: torch