class_docstr: Standard residual block
docstr: Args:
      inputs: tensor of shape [B, C, H, W]
  
  Returns:
      tensor of shape [B, C, H, W]
docstr_tok: ["Args",":","inputs",":","tensor","of","shape","[","B",",","C",",","H",",","W","]","Returns",":","tensor","of","shape","[","B",",","C",",","H",",","W","]"]
code: def forward(self, inputs: Tensor) -> Tensor:
      """
      Args:
          inputs: tensor of shape [B, C, H, W]
  
      Returns:
          tensor of shape [B, C, H, W]
      """
      output = self.activation(self.conv1(inputs))
      output = self.activation(self.conv2(output))
      return output + inputs
  
imports: import itertools
  import math
  from typing import Generator, List, NamedTuple, Optional, Sequence, Tuple, Union
  import torch
  import torch.nn
  import utils.memoize
  from datamodules.video_data_api import Scenes, VideoData
  from neural.entropy_model import PreviousLatent, VCTEntropyModel
  from torch import Tensor
label_desc: Use image node_id 2 for calling the ResidualBlock obj's underlying member method code with example usage: obj.forward(inputs) and returns: unknown