I am a beginner, and I am experimenting in PyTorch.
I am trying to learn Custom Datasets with a toy example.
Here is my script:
import torch
import torch.nn as nn
import torch.utils.data as data
import torchvision.datasets as datasets
device=torch.device('cuda:0');
class CustomDataset(data.Dataset):
 def __init__(self,high):
  self.src=list(range(high));
  self.trgt=list(iter*1 for iter in range(high));
  self.allItems=self.src;
 def inttoTensor(self,integer):
  tensor=torch.zeros(len(self.src));
  index=0;
  for item in self.allItems:
   if item==integer:
    index=self.allItems.index(item);
  print(index);
  tensor[index]=1;
  return tensor;
 def __len__(self):
  return len(self.src);
 def __getitem__(self,idx):
  number=self.src[idx];
  numbert=self.trgt[idx];
  numtensor=self.inttoTensor(number);
  numberttensor=self.inttoTensor(numbert);
  return numtensor,numberttensor;
dset=CustomDataset(50);
dataloader=data.DataLoader(dset,batch_size=1);
model=nn.Linear(50,50);
loss=nn.CrossEntropyLoss();
optimizer=torch.optim.SGD(model.parameters(),lr=0.05);
for batch,(X,y) in enumerate(dataloader):
 pred=model(X);
 lossv=loss(pred,y);
 optimizer.zero_grad();
 loss.backward();
 optimizer.step();


I have looked at a lot of tutorials and some problems like this on this forum, though I am not able to fix it. When I run the script: This is the output I get:
0
0
Traceback (most recent call last):
  File "cust.py", line 35, in <module>
    lossv=loss(pred,y);
  File "/home/samarth/.local/lib/python3.6/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/samarth/.local/lib/python3.6/site-packages/torch/nn/modules/loss.py", line 1121, in forward
    ignore_index=self.ignore_index, reduction=self.reduction)
  File "/home/samarth/.local/lib/python3.6/site-packages/torch/nn/functional.py", line 2824, in cross_entropy
    return torch._C._nn.cross_entropy_loss(input, target, weight, _Reduction.get_enum(reduction), ignore_index)
RuntimeError: 1D target tensor expected, multi-target not supported

Can anyone help me?
Thank you.