I am going to test my simple linear regression. However I got trouble with my program below:
x_train = x.reshape(-1, 1).astype('float32')
y_train = y.reshape(-1, 1).astype('float32')

class LinearRegressionModel(nn.Module):
    def __init__(self, input_dim, output_dim):
        super(LinearRegressionModel, self).__init__()
        self.linear = nn.Linear(input_dim, output_dim)
    
    def forward(self, x):
        out = self.linear(x)
        return out

input_dim = x_train.shape[1]
output_dim = y_train.shape[1]
input_dim, output_dim

model = LinearRegressionModel(input_dim, output_dim)

criterion = nn.MSELoss()
[w, b] = model.parameters()

def get_param_values():
    return w.data[0][0], b.data[0]

and my definition of graph
def plot_current_fit(title=""):
    plt.figure(figsize=(12,4))
    plt.title(title)
    plt.scatter(x, y, s=8)
    w1 = w.data[0][0]
    b1 = b.data[0]
    x1 = np.array([0., 1.])
    y1 = x1 * w1 + b1
    plt.plot(x1, y1, 'r', label='Current Fit ({:.3f}, {:.3f})'.format(w1, b1))
    plt.xlabel('x (input)')
    plt.ylabel('y (target)')
    plt.legend()
    plt.show()

and I got this error
RuntimeError                              Traceback (most recent call last)
 in ()
1
2
----> 3 plot_current_fit(‘Before training’)
4
 in plot_current_fit(title)
6     b1 = b.data[0]
7     x1 = np.array([0., 1.])
----> 8     y1 = x1 * w1 + b1
9     plt.plot(x1, y1, ‘r’, label=‘Current Fit ({:.3f}, {:.3f})’.format(w1, b1))
10     plt.xlabel(‘x (input)’)
RuntimeError: Expected object of type torch.DoubleTensor but found type torch.FloatTensor for argument #3 'other
’