Hi There,
I can’t seem to get my y_train tensor to match my X_train tensor shape
torch_train_X = []
for i,j in enumerate(HOG_X_train):
  torch_train_X.append(torch.from_numpy(HOG_X_train[i].astype(np.float32)))

torch_test_X = []
for i,j in enumerate(HOG_X_test):
  torch_test_X.append(torch.from_numpy(HOG_X_test[i].astype(np.float32)))

torch_train_y = []
for i,j in enumerate(y_train):
  torch_train_y.append(torch.as_tensor([y_train[i]]))

torch_test_y = []
for i,j in enumerate(y_test):
  torch_test_y.append(torch.as_tensor([y_test[i]]))

print(y_train.shape)

print(torch_train_y[0])

print(torch_train_y[0].shape)

print(torch_train_X[0].shape)

OUT
(12271,)
tensor([4])
torch.Size([1])
torch.Size([8100])
from skorch import NeuralNetClassifier

class MLP(nn.Module):
    def __init__(
        self,
        num_units=100,
        nonlin=F.relu,
        dropout=0.1,
        momentum = .01
        
    ):
        super(MLP, self).__init__()
        self.fc1 = nn.Linear(8100,num_units)
        self.fc2 = nn.Linear(num_units,7)
        self.relu=nn.ReLU()
        self.dropout = nn.Dropout(dropout)
            
        
    def forward(self,X):
        X = self.relu(self.fc1(X))
        X = self.dropout(X)
        X = self.fc2(X)
        X = self.relu(X)
        return X



net = NeuralNetClassifier(
    MLP,
    max_epochs=20,
    lr=0.1,
    device='cuda'
) 

net.fit(torch_train_X,torch_train_y)
Re-initializing module.
Re-initializing optimizer.
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-154-e0cb7063e59c> in <module>()
----> 1 net.fit(torch_train_X,y_train)

6 frames
/usr/local/lib/python3.7/dist-packages/skorch/classifier.py in fit(self, X, y, **fit_params)
    140         # this is actually a pylint bug:
    141         # https://github.com/PyCQA/pylint/issues/1085
--> 142         return super(NeuralNetClassifier, self).fit(X, y, **fit_params)
    143 
    144     def predict_proba(self, X):

/usr/local/lib/python3.7/dist-packages/skorch/net.py in fit(self, X, y, **fit_params)
    915             self.initialize()
    916 
--> 917         self.partial_fit(X, y, **fit_params)
    918         return self
    919 

/usr/local/lib/python3.7/dist-packages/skorch/net.py in partial_fit(self, X, y, classes, **fit_params)
    874         self.notify('on_train_begin', X=X, y=y)
    875         try:
--> 876             self.fit_loop(X, y, **fit_params)
    877         except KeyboardInterrupt:
    878             pass

/usr/local/lib/python3.7/dist-packages/skorch/net.py in fit_loop(self, X, y, epochs, **fit_params)
    778 
    779         dataset_train, dataset_valid = self.get_split_datasets(
--> 780             X, y, **fit_params)
    781         on_epoch_kwargs = {
    782             'dataset_train': dataset_train,

/usr/local/lib/python3.7/dist-packages/skorch/net.py in get_split_datasets(self, X, y, **fit_params)
   1304 
   1305         """
-> 1306         dataset = self.get_dataset(X, y)
   1307         if not self.train_split:
   1308             return dataset, None

/usr/local/lib/python3.7/dist-packages/skorch/net.py in get_dataset(self, X, y)
   1259             return dataset
   1260 
-> 1261         return dataset(X, y, **kwargs)
   1262 
   1263     def get_split_datasets(self, X, y=None, **fit_params):

/usr/local/lib/python3.7/dist-packages/skorch/dataset.py in __init__(self, X, y, length)
    167             len_y = get_len(y)
    168             if len_y != len_X:
--> 169                 raise ValueError("X and y have inconsistent lengths.")
    170         self._len = len_X
    171 

ValueError: X and y have inconsistent lengths.


How can I get my torch tensors to match dim? Thank you all.