(self, input)
return output
input: (samples_num, freq_bins, time_steps, 1)
input: (samples_num, freq_bins, time_steps, 1)
input : ( samples_num freq_bins time_steps 1 )
def forward(self, input):
        """input: (samples_num, freq_bins, time_steps, 1)
        """

        # (samples_num, hidden_units, time_steps, 1)
        emb_layers = self.emb(input, return_layers=True)

        # (samples_num, classes_num)
        output1 = self.attention(emb_layers[-1])
        output2 = self.attention(emb_layers[-2])

        # (samples_num, classes_num * 2)
        cat_output = torch.cat((output1, output2), dim=1)

        # (samples_num, class_num)
        output = F.sigmoid(self.fc_final(cat_output))

        return output
def forward ( self , input ) : # (samples_num, hidden_units, time_steps, 1) emb_layers = self . emb ( input , return_layers = True ) # (samples_num, classes_num) output1 = self . attention ( emb_layers [ - 1 ] ) output2 = self . attention ( emb_layers [ - 2 ] ) # (samples_num, classes_num * 2) cat_output = torch . cat ( ( output1 , output2 ) , dim = 1 ) # (samples_num, class_num) output = F . sigmoid ( self . fc_final ( cat_output ) ) return output