class_docstr: An implementation of the Multivariate Time Series Forecasting Graph Neural Networks.
  For details see this paper: `"Connecting the Dots: Multivariate Time Series Forecasting with Graph Neural Networks."
  <https://arxiv.org/pdf/2005.11650.pdf>`_
  
  Args:
      gcn_true (bool): Whether to add graph convolution layer.
      build_adj (bool): Whether to construct adaptive adjacency matrix.
      gcn_depth (int): Graph convolution depth.
      num_nodes (int): Number of nodes in the graph.
      kernel_set (list of int): List of kernel sizes.
      kernel_size (int): Size of kernel for convolution, to calculate receptive field size.
      dropout (float): Droupout rate.
      subgraph_size (int): Size of subgraph.
      node_dim (int): Dimension of nodes.
      dilation_exponential (int): Dilation exponential.
      conv_channels (int): Convolution channels.
      residual_channels (int): Residual channels.
      skip_channels (int): Skip channels.
      end_channels (int): End channels.
      seq_length (int): Length of input sequence.
      in_dim (int): Input dimension.
      out_dim (int): Output dimension.
      layers (int): Number of layers.
      propalpha (float): Prop alpha, ratio of retaining the root nodes's original states in mix-hop propagation, a value between 0 and 1.
      tanhalpha (float): Tanh alpha for generating adjacency matrix, alpha controls the saturation rate.
      layer_norm_affline (bool): Whether to do elementwise affine in Layer Normalization.
      xd (int, optional): Static feature dimension, default None.
class_docstr_tok: ["An","implementation","of","the","Multivariate","Time","Series","Forecasting","Graph","Neural","Networks",".","For","details","see","this","paper",":","`","``","Connecting","the","Dots",":","Multivariate","Time","Series","Forecasting","with","Graph","Neural","Networks",".","''","<","https",":","\/\/arxiv.org\/pdf\/2005.11650.pdf",">","`","_","Args",":","gcn_true","(","bool",")",":","Whether","to","add","graph","convolution","layer",".","build_adj","(","bool",")",":","Whether","to","construct","adaptive","adjacency","matrix",".","gcn_depth","(","int",")",":","Graph","convolution","depth",".","num_nodes","(","int",")",":","Number","of","nodes","in","the","graph",".","kernel_set","(","list","of","int",")",":","List","of","kernel","sizes",".","kernel_size","(","int",")",":","Size","of","kernel","for","convolution",",","to","calculate","receptive","field","size",".","dropout","(","float",")",":","Droupout","rate",".","subgraph_size","(","int",")",":","Size","of","subgraph",".","node_dim","(","int",")",":","Dimension","of","nodes",".","dilation_exponential","(","int",")",":","Dilation","exponential",".","conv_channels","(","int",")",":","Convolution","channels",".","residual_channels","(","int",")",":","Residual","channels",".","skip_channels","(","int",")",":","Skip","channels",".","end_channels","(","int",")",":","End","channels",".","seq_length","(","int",")",":","Length","of","input","sequence",".","in_dim","(","int",")",":","Input","dimension",".","out_dim","(","int",")",":","Output","dimension",".","layers","(","int",")",":","Number","of","layers",".","propalpha","(","float",")",":","Prop","alpha",",","ratio","of","retaining","the","root","nodes","'s","original","states","in","mix-hop","propagation",",","a","value","between","0","and","1.","tanhalpha","(","float",")",":","Tanh","alpha","for","generating","adjacency","matrix",",","alpha","controls","the","saturation","rate",".","layer_norm_affline","(","bool",")",":","Whether","to","do","elementwise","affine","in","Layer","Normalization",".","xd","(","int",",","optional",")",":","Static","feature","dimension",",","default","None","."]
code: def _set_receptive_field(
      self, dilation_exponential, kernel_size, layers
  ):
      if dilation_exponential > 1:
          self._receptive_field = int(
              1
              + (kernel_size - 1)
              * (dilation_exponential**layers - 1)
              / (dilation_exponential - 1)
          )
      else:
          self._receptive_field = layers * (kernel_size - 1) + 1
  
imports: from __future__ import division
  import numbers
  from typing import Optional
  import torch
  import torch.nn
  from torch.nn import init
  import torch.nn.functional
label_desc: Use image node_id 4 for calling the MTGNN obj's underlying member method code with example usage: obj._set_receptive_field(dilation_exponential, kernel_size, layers) without return types