Hi bolt25, thank you so much for your fast reply!
I tried to implement the model, but when I create the DataLoader it gives me back this error: TypeError: join() argument must be str or bytes, not ‘int64’.
I feel that the mistake is that I cannot properly attach the labels to the images.  I would be so grateful to understand this, thanks for your support!
Here is the code I used:
class MyDataset(Dataset):
def __init__(self, csv_file, root_dir, transform=None):
    self.labels = pd.read_csv(csv_file)
    self.root_dir = root_dir
    self.transform = transform
    
def __len__(self):
    return len(self.labels)

def __getitem__(self, index):
    if torch.is_tensor(index):
        index = index.tolist()
        
    image_name = os.path.join(self.root_dir, self.labels.iloc[index, 0])
    image = io.imread(image_name)
    
    if self.transform:
        image = self.transform(image)
        
    return (image, labels)

ds = MyDataset(csv_file="…/input/flower-goggle-tpu-classification/flowers_idx.csv", root_dir="…/input/flower-goggle-tpu-classification/flower_tpu/flower_tpu/flowers_google/flowers_google", transform=transforms.ToTensor())
This is the error:
TypeError                                 Traceback (most recent call last)
 in 
----> 1 for image, label in data_dl:
2     print(image)
3     print(label)
/opt/conda/lib/python3.7/site-packages/torch/utils/data/dataloader.py in next(self)
343
344     def next(self):
–> 345         data = self._next_data()
346         self._num_yielded += 1
347         if self._dataset_kind == _DatasetKind.Iterable and \
/opt/conda/lib/python3.7/site-packages/torch/utils/data/dataloader.py in _next_data(self)
383     def _next_data(self):
384         index = self._next_index()  # may raise StopIteration
–> 385         data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
386         if self._pin_memory:
387             data = _utils.pin_memory.pin_memory(data)
/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py in fetch(self, possibly_batched_index)
42     def fetch(self, possibly_batched_index):
43         if self.auto_collation:
—> 44             data = [self.dataset[idx] for idx in possibly_batched_index]
45         else:
46             data = self.dataset[possibly_batched_index]
/opt/conda/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py in (.0)
42     def fetch(self, possibly_batched_index):
43         if self.auto_collation:
—> 44             data = [self.dataset[idx] for idx in possibly_batched_index]
45         else:
46             data = self.dataset[possibly_batched_index]
 in getitem(self, index)
13             index = index.tolist()
14
—> 15         image_name = os.path.join(self.root_dir, self.labels.iloc[index, 0])
16         image = io.imread(image_name)
17
/opt/conda/lib/python3.7/posixpath.py in join(a, *p)
92                 path += sep + b
93     except (TypeError, AttributeError, BytesWarning):
—> 94         genericpath._check_arg_types(‘join’, a, *p)
95         raise
96     return path
/opt/conda/lib/python3.7/genericpath.py in _check_arg_types(funcname, *args)
151         else:
152             raise TypeError(’%s() argument must be str or bytes, not %r’ %
–> 153                             (funcname, s.class.name)) from None
154     if hasstr and hasbytes:
155         raise TypeError(“Can’t mix strings and bytes in path components”) from None
TypeError: join() argument must be str or bytes, not ‘int64’