parameters: (self, appearance_input=None, appearance_target=None, motion_input=None,
                  motion_target=None, interaction_input=None, interaction_target=None,
                  bbar_input=None, bbar_target=None)
return_statement: return out
docstring: r"""
          :param appearance_input:    appearance features         (batch, time_step, input_size)
          :param appearance_target:   appearance target feature   (batch, 1, input_size)
          :param motion_input:        motion features             (batch, time_step, input_size)
          :param motion_target:       motion target features      (batch, 1, input_size)
          :param interaction_input:   interaction features        (batch, time_step, input_size)
          :param interaction_target:  interaction target feature  (batch, 1, input_size)
          :param bbar_input:          bbar features               (batch, time_step, input_size)
          :param bbar_target:         bbar target feature         (batch, 1, input_size)
          :return:
docstring_summary: r"""
          :param appearance_input:    appearance features         (batch, time_step, input_size)
          :param appearance_target:   appearance target feature   (batch, 1, input_size)
          :param motion_input:        motion features             (batch, time_step, input_size)
          :param motion_target:       motion target features      (batch, 1, input_size)
          :param interaction_input:   interaction features        (batch, time_step, input_size)
          :param interaction_target:  interaction target feature  (batch, 1, input_size)
          :param bbar_input:          bbar features               (batch, time_step, input_size)
          :param bbar_target:         bbar target feature         (batch, 1, input_size)
          :return:
docstring_tokens: r : param appearance_input : appearance features ( batch time_step input_size ) : param appearance_target : appearance target feature ( batch 1 input_size ) : param motion_input : motion features ( batch time_step input_size ) : param motion_target : motion target features ( batch 1 input_size ) : param interaction_input : interaction features ( batch time_step input_size ) : param interaction_target : interaction target feature ( batch 1 input_size ) : param bbar_input : bbar features ( batch time_step input_size ) : param bbar_target : bbar target feature ( batch 1 input_size ) : return :
function: def forward(self, appearance_input=None, appearance_target=None, motion_input=None,
                  motion_target=None, interaction_input=None, interaction_target=None,
                  bbar_input=None, bbar_target=None):
          r"""
          :param appearance_input:    appearance features         (batch, time_step, input_size)
          :param appearance_target:   appearance target feature   (batch, 1, input_size)
          :param motion_input:        motion features             (batch, time_step, input_size)
          :param motion_target:       motion target features      (batch, 1, input_size)
          :param interaction_input:   interaction features        (batch, time_step, input_size)
          :param interaction_target:  interaction target feature  (batch, 1, input_size)
          :param bbar_input:          bbar features               (batch, time_step, input_size)
          :param bbar_target:         bbar target feature         (batch, 1, input_size)
          :return:
          """
  
          out_list = []
          if RnnType.Appearance in self.model_list:
              _, app_out = self.appearance(appearance_input, appearance_target)
              out_list.append(app_out)
  
          if RnnType.Motion in self.model_list:
              _, motion_out = self.motion(motion_input, motion_target)
              out_list.append(motion_out)
  
          if RnnType.Interaction in self.model_list:
              _, interaction_out = self.interaction(interaction_input, interaction_target)
              out_list.append(interaction_out)
  
          if RnnType.BBox in self.model_list:
              _, bbox_out = self.bbar(bbar_input, bbar_target)
              out_list.append(bbox_out)
  
          combined_input = torch.cat(out_list, 2)
          r_out, (h_t, c_t) = self.lstm(combined_input, None)
  
          out = self.fc1(r_out[:, -1, :])
  
          return out
function_tokens: def forward ( self , appearance_input = None , appearance_target = None , motion_input = None , motion_target = None , interaction_input = None , interaction_target = None , bbar_input = None , bbar_target = None ) : out_list = [ ] if RnnType . Appearance in self . model_list : _ , app_out = self . appearance ( appearance_input , appearance_target ) out_list . append ( app_out ) if RnnType . Motion in self . model_list : _ , motion_out = self . motion ( motion_input , motion_target ) out_list . append ( motion_out ) if RnnType . Interaction in self . model_list : _ , interaction_out = self . interaction ( interaction_input , interaction_target ) out_list . append ( interaction_out ) if RnnType . BBox in self . model_list : _ , bbox_out = self . bbar ( bbar_input , bbar_target ) out_list . append ( bbox_out ) combined_input = torch . cat ( out_list , 2 ) r_out , ( h_t , c_t ) = self . lstm ( combined_input , None ) out = self . fc1 ( r_out [ : , - 1 , : ] ) return out