here is the number of parameters that I want to change
# input_size = 1
input_size = 2  # 3, 4, 5,...
output_size = 1
num_epochs = 60
learning_rate = 0.001

This is training set
x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168], 
                    [9.779], [6.182], [7.59], [2.167], [7.042], 
                    [10.791], [5.313], [7.997], [3.1]], dtype=np.float32)

y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573], 
                    [3.366], [2.596], [2.53], [1.221], [2.827], 
                    [3.465], [1.65], [2.904], [1.3]], dtype=np.float32)

This is a training model of linear

for epoch in range(num_epochs):
    # Convert numpy arrays to torch tensors
    inputs = torch.from_numpy(x_train)
    targets = torch.from_numpy(y_train)

    # Forward pass
    outputs = model(inputs)
    loss = criterion(outputs, targets)
    
    # Backward and optimize
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    
    if (epoch+1) % 5 == 0:
        print ('Epoch [{}/{}], Loss: {:.4f}'.format(epoch+1, num_epochs, loss.item()))

This is the error I got:

RuntimeError                              Traceback (most recent call last)
 in ()
6
7     # Forward pass
----> 8     outputs = model(inputs)
9     loss = criterion(outputs, targets)
10
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in call(self, *input, **kwargs)
489             result = self._slow_forward(*input, **kwargs)
490         else:
–> 491             result = self.forward(*input, **kwargs)
492         for hook in self._forward_hooks.values():
493             hook_result = hook(self, input, result)
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/linear.py in forward(self, input)
53
54     def forward(self, input):
—> 55         return F.linear(input, self.weight, self.bias)
56
57     def extra_repr(self):
/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py in linear(input, weight, bias)
990     if input.dim() == 2 and bias is not None:
991         # fused op is marginally faster
–> 992         return torch.addmm(bias, input, weight.t())
993
994     output = input.matmul(weight.t())
RuntimeError: size mismatch, m1: [15 x 1], m2: [2 x 1] at /pytorch/aten/src/TH/generic/THTensorMath.c:2033
This error is generalized when I increased the number of inputs.
What I want to do here is to make a general case to adapt module linear without any errors or how change make training set without error?