I am new to PyTorch and am getting the following error when building a neural network. Please let me know if you need any additional details. Thanks in advance for your help!

image871×300 9.6 KB

(I have also tested generating a random result data set of the same shape and the model works
y = torch.randint(0, 4, (X_train.shape[0], 1), dtype=torch.long)
)
Error:
Re-initializing module because the following parameters were re-set: num_classes, predictor.
Re-initializing optimizer.
RuntimeError                              Traceback (most recent call last)
 in 
----> 1 skorch_model.fit(X_train_torch,y_train_torch)
~/.local/lib/python3.6/site-packages/skorch/net.py in fit(self, X, y, **fit_params)
846             self.initialize()
847
–> 848         self.partial_fit(X, y, **fit_params)
849         return self
850
~/.local/lib/python3.6/site-packages/skorch/net.py in partial_fit(self, X, y, classes, **fit_params)
805         self.notify(‘on_train_begin’, X=X, y=y)
806         try:
–> 807             self.fit_loop(X, y, **fit_params)
808         except KeyboardInterrupt:
809             pass
~/.local/lib/python3.6/site-packages/skorch/net.py in fit_loop(self, X, y, epochs, **fit_params)
737                 yi_res = yi if not y_train_is_ph else None
738                 self.notify(‘on_batch_begin’, X=Xi, y=yi_res, training=True)
–> 739                 step = self.train_step(Xi, yi, **fit_params)
740                 train_batch_count += 1
741                 self.history.record_batch(‘train_loss’, step[‘loss’].item())
~/.local/lib/python3.6/site-packages/skorch/net.py in train_step(self, Xi, yi, **fit_params)
662             step_accumulator.store_step(step)
663             return step[‘loss’]
–> 664         self.optimizer_.step(step_fn)
665         self.optimizer_.zero_grad()
666         return step_accumulator.get_step()
~/.local/lib/python3.6/site-packages/torch/optim/sgd.py in step(self, closure)
78         loss = None
79         if closure is not None:
—> 80             loss = closure()
81
82         for group in self.param_groups:
~/.local/lib/python3.6/site-packages/skorch/net.py in step_fn()
659         step_accumulator = self.get_train_step_accumulator()
660         def step_fn():
–> 661             step = self.train_step_single(Xi, yi, **fit_params)
662             step_accumulator.store_step(step)
663             return step[‘loss’]
~/.local/lib/python3.6/site-packages/skorch/net.py in train_step_single(self, Xi, yi, **fit_params)
602         self.module_.train()
603         y_pred = self.infer(Xi, **fit_params)
–> 604         loss = self.get_loss(y_pred, yi, X=Xi, training=True)
605         loss.backward()
606
~/.local/lib/python3.6/site-packages/skorch/net.py in get_loss(self, y_pred, y_true, X, training)
1097         “”"
1098         y_true = to_tensor(y_true, device=self.device)
-> 1099         return self.criterion_(y_pred, y_true)
1100
1101     def get_dataset(self, X, y=None):
~/.local/lib/python3.6/site-packages/torch/nn/modules/module.py in call(self, *input, **kwargs)
539             result = self._slow_forward(*input, **kwargs)
540         else:
–> 541             result = self.forward(*input, **kwargs)
542         for hook in self._forward_hooks.values():
543             hook_result = hook(self, input, result)
~/.local/lib/python3.6/site-packages/spacecutter/losses.py in forward(self, y_pred, y_true)
106         return cumulative_link_loss(y_pred, y_true,
107                                     reduction=self.reduction,
–> 108                                     class_weights=self.class_weights)
~/.local/lib/python3.6/site-packages/spacecutter/losses.py in cumulative_link_loss(y_pred, y_true, reduction, class_weights)
66     “”"
67     eps = 1e-15
—> 68     likelihoods = torch.clamp(torch.gather(y_pred, 1, y_true), eps, 1 - eps)
69     neg_log_likelihood = -torch.log(likelihoods)
70
RuntimeError: Invalid index in gather at /pytorch/aten/src/TH/generic/THTensorEvenMoreMath.cpp:657