I’m not sure about the model architecture.
Based on your description you are dealing with inputs of [batch_size, 1024] and are unsqueezing this input tensor to create a fake temporal dimension to [batch_size, 1024, 1].
If that’s the case, the nn.Conv1d with a kernel size of 1 will be a linear layer, as each kernel will connect to all input channels and create a single output value. These output activations will then to concatenated to the shape [batch_size, nb_filters, 1], which should be equal to the usage of nn.Linear.
That being said, the raised error comes from a shape mismatch in the first linear layer, as your input activation contains 64 features (number of filters in self.conv2), while self.fc1 expects 2048 input features.
Change the in_features to 64 for self.fc1 and it should work.