code: def forward(self, data_batch, is_train=None):
          
          _load_data(data_batch, self.data_arrays, self.data_layouts)
          if is_train is None:
              is_train = self.for_training
  
          if isinstance(data_batch, list):
              if self.label_arrays is not None and data_batch is not None and data_batch[0].label:
                  _load_label(data_batch, self.label_arrays, self.label_layouts)
          else:
              if self.label_arrays is not None and data_batch.label:
                  _load_label(data_batch, self.label_arrays, self.label_layouts)
  
          for exec_ in self.execs:
              exec_.forward(is_train=is_train)
docs: Split `data_batch` according to workload and run forward on each devices.
  
          Parameters
          ----------
          data_batch : DataBatch
              Or could be any object implementing similar interface.
          is_train : bool
              The hint for the backend, indicating whether we are during training phase.
              Default is `None`, then the value `self.for_training` will be used.
          Returns
          -------