Could you print the shape of features before passing them to self.fc?
Usually you would flatten the output of a conv layer, as currently features should have the shape [batch_size, channels, seq_length].