Thanks for the quick answer
Q2 is pretty clear
Q1. - I realized that I gave labels of int64. As we begin to train , in data_loader.py we have the block
if “label” in first and first[“label”] is not None:
**        label = first[“label”].item() if isinstance(first[“label”], torch.Tensor) else first[“label”]**
**        dtype = torch.long if isinstance(label, int) else torch.float**
Since is instance(label, int) for int64 is False , it converted the labels to Float. Which causes to multi_label_classifcation due to the following block
elif self.num_labels > 1 and (labels.dtype == torch.long or labels.dtype == torch.int):
**                    self.config.problem_type = “single_label_classification”**
**                else:**
**                    self.config.problem_type = “multi_label_classification”**
The corollary is that one has to give labels as int and not int64
Thanks
Thanks
Natan