class_docstr: Correlation Cost Layer.
  
  This layer implements the correlation operation from [FlowNet Learning
  Optical Flow with Convolutional Networks](https://arxiv.org/abs/1504.06852)(Fischer et al.).
  
  Args:
      kernel_size: An integer specifying the height and width of the
          patch used to compute the per-patch costs.
      max_displacement: An integer specifying the maximum search radius
          for each position.
      stride_1: An integer specifying the stride length in the input.
      stride_2: An integer specifying the stride length in the patch.
      pad: An integer specifying the paddings in height and width.
      data_format: Specifies the data format.
          Possible values are:
              "channels_last" float [batch, height, width, channels]
              "channels_first" float [batch, channels, height, width]
              Defaults to `"channels_last"`.
code: def get_config(self):
      config = {
          "kernel_size": self.kernel_size,
          "max_displacement": self.max_displacement,
          "stride_1": self.stride_1,
          "stride_2": self.stride_2,
          "pad": self.pad,
          "data_format": self.data_format,
      }
  
      base_config = super().get_config()
      return {**base_config, **config}
  
file_path: addons/tensorflow_addons/layers/optical_flow.py
imports: import tensorflow
  from typeguard import typechecked
  from tensorflow_addons.utils.resource_loader import LazySO
label_desc: Use image node_id 5 for calling the CorrelationCost obj's underlying member method code with example usage: obj.get_config() and returns: dict