when you do transform = transforms.ToTensor() In dataset , it return a tensor,while
transforms.Scale(256),
transforms.RandomCrop(224),

they were both designed for PIL Image. so you need to
scale_transform = transforms.Compose([
    transforms.ToPILImage(),
    transforms.Scale(256),
    transforms.RandomCrop(224),
    transforms.ToTensor()
])