Morning,
I think i am getting myself into a pickle. I have an input tensor [-1,1,x] which i then split into 2 tensors of size [-1,1,x/2]. I would like to then pass these 2 tensors over the same CNN and then concatanate back before going into the FC layers. I have used torch.split and this gives me tuple which is then allocated to 2 input tensors (data_a and data_b).
do need to pass these using model.encoder(data_a) and model.encoder(data_b)?
If i do need to do that then do i need to then copy the the statements in forward so that i end up with a list of entries for data_a and data_b? This strarts to get very messy very quickly, is there a neater way? For example is it possible to use use tuples all the way through the forward function???
    def forward(self, data_a,data_b):
       
        data_a=self.conv1(data_a)
        data_a=self.bn1a(data_a)
        data_a=self.DP1(data_a)

        data_a=self.in1(data_a) #this is the inception modulue for strand data_a
        #REPEAT ABOVE FOR DATA_B
       data_b=self.conv1(data_b)
        data_b=self.bn1a(data_b)
        data_b=self.DP1(data_b)

        data_b=self.in1(data_b)   #this is the inception modulue for strand data_b
        
        #CONCACTANTE DATA STREAM A & B
        data= torch.cat((data_a,dat_b),1)
        
        data=self.conv1e(data)
        data=self.bn1e(data)
        data=self.DP1e(data)

                
        data=self.HT(self.fc1(data))
        data=self.HT(self.fc1a(data))
        data=self.HT(self.fc2(data))
        data=self.fc3(data)
        #THIS IS WHERE I GET COFUSED BECAUSE I NEED TO RETURN Z_LOC &     Z_SCALE TO MODEL.ENCODER, MODEL.ENCODER CAN ONLY HAVE A SINGLE INPUT (DATA_A OR _DATA_B, AND HAVING 2 ENCODERS WOULD GIVE 2 Z_LOC & Z_SCALE, CAN I SUM THE 2 AND GET THE SAME ANSWER?
        z_loc=self.fc31(data)
        z_scale=self.fc32(data)
        
        return z_loc, z_scale