class_docstr: CNNLSTM is a simple model for vision and language tasks. CNNLSTM is supposed
  to acts as a baseline to test out your stuff without any complex functionality.
  Passes image through a CNN, and text through an LSTM and fuses them using
  concatenation. Then, it finally passes the fused representation from a MLP to
  generate scores for each of the possible answers.
  
  Args:
      config (DictConfig): Configuration node containing all of the necessary
                           config required to initialize CNNLSTM.
  
  Inputs: sample_list (SampleList)
      - **sample_list** should contain image attribute for image, text for
        question split into word indices, targets for answer scores
code: def __init__(self, config):
      super().__init__(config)
      self._global_config = registry.get("config")
      self._datasets = self._global_config.datasets.split(",")
  
file_path: mmf/mmf/models/cnn_lstm.py
imports: from copy import deepcopy
  import torch
  from mmf.common.registry import registry
  from mmf.models.base_model import BaseModel
  from mmf.modules.layers import ClassifierLayer, ConvNet, Flatten
  from torch import nn
label_desc: Use image node_id 1 to create a new CNNLSTM object from inherited base classes: BaseModel with example: obj = CNNLSTM(config)