As a solution to this question I posed 7, I changed an import statement for transforms from
import transforms as T
to
from torchvision import transforms as T
I did this in order to fix this:
def get_transform(train):
    transforms = []
    # converts the image, a PIL image, into a PyTorch Tensor
    transforms.append(T.Resize((400*5312/2988,400)))
    transforms.append(T.ToTensor())
    if train:
        # during training, randomly flip the training images
        # and ground-truth for data augmentation
        transforms.append(T.RandomHorizontalFlip(0.5))
    return T.Compose(transforms)

The linked Q and A can supply more detail.
Now, with the torchvision import, I get a new error:

TypeError: call() takes 2 positional arguments but 3 were given

I dug around and there were similar questions 2. This new error has to do with transforms.Compose only able to take 2 positional arguments. A suggested solution 1 was to write a custom Compose statement. I added that to my code. Now the transform section has this:
from torchvision import transforms as T

class MyCompose(object):
    def __init__(self, transforms):
        self.transforms = transforms

    def __call__(self, img, tar):
        for t in self.transforms:
            img, tar = t(img, tar)
        return img, tar

def get_transform(train):
    transforms = []
    # converts the image, a PIL image, into a PyTorch Tensor
    transforms.append(T.Resize((400*5312/2988,400)))
    transforms.append(T.ToTensor())
    if train:
        # during training, randomly flip the training images
        # and ground-truth for data augmentation
        transforms.append(T.RandomHorizontalFlip(0.5))
    return MyCompose(transforms)

Now, I get this error:


TypeError                                 Traceback (most recent call last)
 in ()
5  collate_fn=utils.collate_fn)
6 # For Training
----> 7 images,targets = next(iter(data_loader))
8 images = list(image for image in images)
9 targets = [{k: v for k, v in t.items()} for t in targets]
3 frames
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py in next(self)
515             if self._sampler_iter is None:
516                 self._reset()
 → 517             data = self._next_data()
518             self._num_yielded += 1
519             if self._dataset_kind == _DatasetKind.Iterable and \
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py in _next_data(self)
1197             else:
1198                 del self._task_info[idx]
 → 1199                 return self._process_data(data)
1200
1201     def _try_put_index(self):
/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py in _process_data(self, data)
1223         self._try_put_index()
1224         if isinstance(data, ExceptionWrapper):
 → 1225             data.reraise()
1226         return data
1227
/usr/local/lib/python3.7/dist-packages/torch/_utils.py in reraise(self)
427             # have message field
428             raise self.exc_type(message=msg)
 → 429         raise self.exc_type(msg)
430
431
TypeError: Caught TypeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File “/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/worker.py”, line 202, in _worker_loop
data = fetcher.fetch(index)
File “/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py”, line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File “/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py”, line 44, in 
data = [self.dataset[idx] for idx in possibly_batched_index]
File “”, line 75, in getitem
img, target = self.transforms(img, target)
File “”, line 11, in call
img, tar = t(img, tar)
File “/usr/local/lib/python3.7/dist-packages/torch/nn/modules/module.py”, line 889, in _call_impl
result = self.forward(*input, **kwargs)
TypeError: forward() takes 2 positional arguments but 3 were given

I don’t know where forward() is called exactly, but it appears to be part of the next(iter(dataset)) execution. More importantly, I don’t know what the positional arguments are. I mean, I expect them to be whatever part of the dataset are outputs in the objects images and targets. I don’t know what in the MyCompose would have changed to add another positional argument. How should I fix this?