The tensor given to the network is of size [128, 7882, 1], which means it is seen by Conv1 as a batch of sequences with seq_length=1 . Then, it goes through all the Conv1 modules, keeping this seq_length=1 (because of the kernel_size=1, stride=1).
So it is not seen as a sequence.
I find it very weird, as you could achieve the same result using only nn.Linear() modules, instead of convolutions, if you removed the unsqueezed dimension.
Please tell me if there is something I am missing.
Anyway, after the convolutions, you end up with a batch of 128 sequences with num_channels=128, seq_length=1.
So if you squeeze the tensor features before passing it to self.fc, it would remove the unused seq_len dimension, and you should be fine.