В настоящее время я работаю над многомерной линейной регрессией с использованием PyTorch, и я получаю следующую ошибку, я действительно много искал об этой ошибке, и единственное, что я узнал, - это несоответствие размера между данными и метками. Но как решить эту ошибку. Пожалуйста, помогите мне или покажите мне правильный способ решения этой проблемы.
несоответствие размера, м1: [824 x 1], м2: [8 x 8]
import torch
import torch.nn as nn
import numpy as np
Xtr = np.loadtxt("TrainData.csv")
Ytr = np.loadtxt("TrainLabels.csv")
X_train = torch.FloatTensor(Xtr)
Y_train = torch.FloatTensor(Ytr)
#### MODEL ARCHITECTURE ####
class Model(torch.nn.Module):
def __init__(self):
super().__init__()
self.linear = torch.nn.Linear(8,8)
self.lin2 = torch.nn.Linear(8,1)
def forward(self, x):
x = self.lin2(x)
y_pred = self.linear(x)
return y_pred
model = Model()
loss_func = nn.MSELoss(size_average=False)
optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
#print(len(list(model.parameters())))
def count_params(model):
return sum(p.numel() for p in model.parameters() if p.requires_grad)
### TRAINING
for epoch in range(2):
y_pred = model(X_train)
loss = loss_func(y_pred, Y_train)
optimizer.zero_grad()
loss.backward()
optimizer.step()
count = count_params(model)
print(count)
test_exp = torch.FloatTensor([[6.0]])