Here’s some pseudo code for the forward pass I have  in my model so far:
def forward(self, x):
   if x has PA view but not L view:
        go through PA classifier
   if x has L view but not PA view:
        go through L classifier
   else:
       output1 = run through the first 3 blocks of of PA classifier
       output2 = run through second 3 blocks of L classifier
       concatenate output1 and output2 and feed them through Linear Layer

   return output

Is the forward pass designed to assume a batch size of 1?
If not, wouldn’t I need to do this:
def forward(self, x):
  for example in x:
      if x has PA view but not L view:
         .....

       return output