class_docstr: Decoder based on "Convolutional Sequence to Sequence Learning"
  :cite:`DBLP:journals/corr/GehringAGYD17`.
  
  Consists of residual convolutional layers, with ConvMultiStepAttention.
class_docstr_tok: ["Decoder","based","on","``","Convolutional","Sequence","to","Sequence","Learning","''",":","cite",":","`","DBLP",":","journals\/corr\/GehringAGYD17","`",".","Consists","of","residual","convolutional","layers",",","with","ConvMultiStepAttention","."]
docstr: Init decoder state.
docstr_tok: ["Init","decoder","state","."]
code: def init_state(self, _, enc_out, enc_hidden):
      """Init decoder state."""
      self.state["src"] = (enc_out + enc_hidden) * SCALE_WEIGHT
      self.state["previous_input"] = None
  
file_path: OpenNMT-py/onmt/decoders/cnn_decoder.py
imports: import torch
  import torch.nn
  from onmt.modules import ConvMultiStepAttention, GlobalAttention
  from onmt.utils.cnn_factory import shape_transform, GatedConv
  from onmt.decoders.decoder import DecoderBase
label_desc: Use image node_id 3 for calling the CNNDecoder obj's underlying member method code with example usage: obj.init_state(_, enc_out, enc_hidden) without return types