class_docstr: Convolutional Gru unit.
class_docstr_tok: ["Convolutional","Gru","unit","."]
code: def forward(self, h, x):
      hx = torch.cat([h, x], dim=1)
      z = torch.sigmoid(self.convz(hx))
      r = torch.sigmoid(self.convr(hx))
      q = torch.tanh(self.convq(torch.cat([r * h, x], dim=1)))
      h = (1 - z) * h + z * q
      return h
  
imports: from typing import List, Optional
  import torch
  import torch.nn
  import torch.nn.functional
  from torch import Tensor
  from torch.nn.modules.batchnorm import BatchNorm2d
  from torch.nn.modules.instancenorm import InstanceNorm2d
  from torchvision.ops import Conv2dNormActivation
  from ...transforms._presets import OpticalFlow
  from ...utils import _log_api_usage_once
  from .._api import register_model, Weights, WeightsEnum
  from .._utils import handle_legacy_interface
  from ._utils import grid_sample, make_coords_grid, upsample_flow
label_desc: Use image node_id 2 for calling the ConvGRU obj's underlying member method code with example usage: obj.forward(h, x) and returns: h