class_docstr: An architecture combining hybrid Transformer/RNN with character-based
  inputs (token embeddings created via character-input CNN)
docstr: Overriding FairseqEncoderDecoderModel.forward() due to different encoder
  inputs.
docstr_tok: ["Overriding","FairseqEncoderDecoderModel.forward","(",")","due","to","different","encoder","inputs","."]
code: def forward(
      self,
      src_tokens,
      src_lengths,
      char_inds,
      word_lengths,
      prev_output_tokens,
  ):
      """
      Overriding FairseqEncoderDecoderModel.forward() due to different encoder
      inputs.
      """
      encoder_out = self.encoder(
          src_tokens, src_lengths, char_inds, word_lengths
      )
      decoder_out = self.decoder(prev_output_tokens, encoder_out)
      return decoder_out
  
imports: import logging
  import math
  from ast import literal_eval
  import torch
  import torch.nn
  import torch.nn.functional
  from fairseq.models import FairseqEncoder, register_model, register_model_architecture, transformer
  from fairseq.modules import SinusoidalPositionalEmbedding
  from pytorch_translate import char_encoder, char_source_model, hybrid_transformer_rnn, model_constants, rnn, transformer, utils, vocab_constants
  from pytorch_translate.common_layers import TransformerEncoderGivenEmbeddings, VariableTracker
  from pytorch_translate.data.dictionary import TAGS
label_desc: Use image node_id 4 for calling the CharSourceHybridModel obj's underlying member method code with example usage: obj.forward(src_tokens, src_lengths, char_inds, word_lengths, prev_output_tokens) and returns: decoder_out