import random
import torch
import torch.nn as nn
input_dimension = 3
output_dimension = 1
shujuliang = 2
class LinearRegressionModel(nn.Module):
def __init__(self):
super(LinearRegressionModel, self).__init__()
self.linear = nn.Linear(in_features=input_dimension, out_features=output_dimension, bias=True , dtype=torch.double)
def forward(self, x):
return self.linear(x)
model = LinearRegressionModel()
linear_layer = model.linear
random_list = [[random.randint(0, 1) for _ in range(input_dimension)] for _ in range(shujuliang)]
shuru = torch.tensor(random_list, dtype=torch.double)
print(f"shuru:{shuru}")
shuchu = model.forward(shuru)
print(f'shuchu:{shuchu}')
right_shuchu = torch.randint(0, 2, (shujuliang, 1))
print('right_shuchu:', right_shuchu)
print(f'Weights: {linear_layer.weight.data}')
print(f'Bias: {linear_layer.bias.data}')
criterion = nn.MSELoss()
loss = criterion(shuchu, right_shuchu)
print(f"loss: {loss}")