That was where my thoughts went too first. For a convolutional 1D layer, the shape should be N x C x L, so for my case, this will be BATCH_SIZE x 1 x 31029. So that’s what goes into the first layer. The final shape of the input tensor after the forward pass is done will be BATCH_SIZE x CLASSES. I’ve checked this detail and the shapes are ok as far as I can tell.
Moreover, in the above code, I standardized the data, but then I couldn’t find a reason why I’ve done it considering the data is already between 0 - 1 (C=0.25, T=0.50, G=0.75, A=1.0, missing_entries=0.0). So I removed the standardization part, but still without any improvement.