Hi, I’m getting the runtime error.
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import Dataset, DataLoader
from torch.nn import *


class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()


        self.conv1 = nn.Sequential(
            nn.Conv1d(1, 128, kernel_size=3, stride=3, padding=1),
            nn.BatchNorm1d(128),
            nn.ReLU())

        self.conv2= nn.Sequential(
        nn.Conv1d(128,128, kernel_size= 3, stride=3, padding=1),
        nn.BatchNorm1d(128),
        nn.MaxPool1d(3, stride=3))
        
        self.fc = nn.Linear(512,10)
        self.activation = nn.ReLU()
        
        
    def forward(self,x):
        print('inside forward')
        print("x1.",x.shape)
        x = x.view(x.shape[0], 1,-1)
        print("x2.",x.shape)
        out = self.conv1(x)
        print("out1.",out.shape)
        out = self.conv2(out)
        print("out2.",out.shape)

        out = out.view(x.shape[0], -1)
        logit = self.fc(out)
    

model = Net()

x1. torch.Size([107841, 1, 131])
x2. torch.Size([107841, 1, 131])
out1. torch.Size([107841, 128, 44])
out2. torch.Size([107841, 128, 5])
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-10-73c225dfd454> in <module>
     46 # training the model
     47 for epoch in range(n_epochs):
---> 48     train(epoch)
     49 
     50 plt.plot(train_losses, label='Training loss')

<ipython-input-10-73c225dfd454> in train(epoch)
     19 
     20     # prediction for training and validation set
---> 21     output_train = model(x_train)
     22     output_val = model(x_val)
     23 

/usr/local/anaconda3/latest/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
    725             result = self._slow_forward(*input, **kwargs)
    726         else:
--> 727             result = self.forward(*input, **kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),

<ipython-input-5-55e15a8cc91f> in forward(self, x)
     36 
     37         out = out.view(x.shape[0], -1)
---> 38         logit = self.fc(out)
     39 
     40 

/usr/local/anaconda3/latest/lib/python3.8/site-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
    725             result = self._slow_forward(*input, **kwargs)
    726         else:
--> 727             result = self.forward(*input, **kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),

/usr/local/anaconda3/latest/lib/python3.8/site-packages/torch/nn/modules/linear.py in forward(self, input)
     91 
     92     def forward(self, input: Tensor) -> Tensor:
---> 93         return F.linear(input, self.weight, self.bias)
     94 
     95     def extra_repr(self) -> str:

/usr/local/anaconda3/latest/lib/python3.8/site-packages/torch/nn/functional.py in linear(input, weight, bias)
   1688     if input.dim() == 2 and bias is not None:
   1689         # fused op is marginally faster
-> 1690         ret = torch.addmm(bias, input, weight.t())
   1691     else:
   1692         output = input.matmul(weight.t())

RuntimeError: mat1 dim 1 must match mat2 dim 0