I am trying to make my custom collate file for the data.DataLoader
, I have some difficulty in terms of understanding it.
- what format should the inputs of collate have?
meaning if my collate is like:
def detection_collate(batch):
"""Custom collate fn for dealing with batches of images that have a different
number of associated object annotations (bounding boxes).
Arguments:
batch: (tuple) A tuple of tensor images and lists of annotations and their ids
Return:
A tuple containing:
1) (tensor) batch of images stacked on their 0 dim
2) (list of tensors) annotations for a given image are stacked on 0 dim
3) (list of str) id of images
"""
targets = []
imgs = []
ids = []
for sample in batch:
imgs.append(sample[0])
targets.append(torch.FloatTensor(sample[1]))
ids.append(sample[2])
return torch.stack(imgs, 0), targets, ids
is there anything wrong with this collate?
Honestly i feel something might be wrong but im not sure, i remember from somewhere that i should not send str to collate?
Any feedback from pytorch expert would be so helpful
Thanks