I can’t reproduce this issue with similar code snippet on my end:
import torch

class MyDataset(torch.utils.data.Dataset):
    def __init__(self):
        pass

    def __getitem__(self, idx):
        return (torch.tensor(idx, dtype=torch.float), idx%2)

    def __len__(self):
        return 1000

def mycollate(batch):
    print("hello")
    data = [item[0] for item in batch]
    label = [True if item[1] > 0 else False for item in batch]
    return data, label

dataset = MyDataset()
dataloader = torch.utils.data.DataLoader(dataset, batch_size = 64, shuffle=True, collate_fn=mycollate)
for i in dataloader:
    print(len(i))
    print(i)
    break

this outputs
hello
2
([tensor(532.), tensor(948.), tensor(348.), tensor(815.), tensor(564.), tensor(455.), tensor(610.), tensor(888.), tensor(163.), tensor(728.), tensor(844.), tensor(462.), tensor(106.), tensor(982.), tensor(156.), tensor(814.), tensor(822.), tensor(971.), tensor(461.), tensor(969.), tensor(750.), tensor(845.), tensor(147.), tensor(112.), tensor(380.), tensor(384.), tensor(912.), tensor(770.), tensor(761.), tensor(406.), tensor(643.), tensor(856.), tensor(186.), tensor(577.), tensor(339.), tensor(360.), tensor(335.), tensor(408.), tensor(749.), tensor(485.), tensor(68.), tensor(159.), tensor(509.), tensor(932.), tensor(904.), tensor(891.), tensor(832.), tensor(946.), tensor(790.), tensor(847.), tensor(981.), tensor(923.), tensor(554.), tensor(288.), tensor(215.), tensor(879.), tensor(262.), tensor(361.), tensor(472.), tensor(908.), tensor(138.), tensor(531.), tensor(840.), tensor(772.)], [False, False, False, True, False, True, False, False, True, False, False, False, False, False, False, False, False, True, True, True, False, True, True, False, False, False, False, False, True, False, True, False, False, True, True, False, True, False, True, True, False, True, True, False, False, True, False, False, False, True, True, True, False, False, True, True, False, True, False, False, False, True, False, False])