code: def forward(
      self,
      src_tokens: Tensor,
      additional_features: List[List[Tensor]],
      src_lengths,
      prev_output_tokens,
      src_subword_begin_indices: Optional[Tensor] = None,
  ) -> Tuple[Tensor, Dict[str, Tensor]]:
      # embed tokens
      embeddings = self.source_embeddings(
          [[src_tokens]] + additional_features
      )
  
      encoder_out = self.encoder(
          src_tokens, embeddings, src_lengths=src_lengths
      )
      decoder_out = self.decoder(
          prev_output_tokens, encoder_out=encoder_out
      )
      return decoder_out
  
file_path: pytext/pytext/models/seq_models/conv_model.py
imports: from typing import Dict, List, Optional, Tuple, Union
  from pytext.config import ConfigBase
  from pytext.models.module import create_module
  from torch import Tensor
  from .base import PyTextSeq2SeqModule
  from .conv_decoder import LightConvDecoder, LightConvDecoupledDecoder
  from .conv_encoder import LightConvEncoder
label_desc: Use image node_id 3 for calling the CNNModel obj's underlying member method code with example usage: obj.forward(src_tokens, additional_features, src_lengths, prev_output_tokens, src_subword_begin_indices) and returns: decoder_out