PyTorch的數據加載方式有多種,常用的包括以下幾種:
torch.utils.data.Dataset:該類是PyTorch中的抽象類,用于表示數據集。用戶可以根據自己的數據特點,繼承該類并實現自己的數據集類。需要實現的方法包括__getitem__和__len__,分別用于獲取數據和返回數據集的大小。
torch.utils.data.DataLoader:該類用于將數據集加載到模型中。DataLoader可以設置批次大小(batch size)、線程數(num_workers)、是否進行數據打亂(shuffle)、是否使用GPU等參數。通過DataLoader加載的數據會被自動劃分為mini-batch,并提供多線程異步加載數據的功能。
torchvision.datasets:PyTorch提供了一些常見的數據集,如MNIST、CIFAR-10等。這些數據集可以通過torchvision.datasets模塊直接加載,并且已經進行了預處理,可以直接用于訓練模型。
torchvision.transforms:該模塊提供了一系列數據預處理的操作,可以對輸入數據進行常見的變換,例如裁剪、縮放、翻轉、標準化等。可以通過組合不同的transform來對數據進行預處理。
總結來說,PyTorch的數據加載方式可以通過自定義數據集類和DataLoader來加載用戶自定義的數據,也可以使用torchvision.datasets加載已有的常見數據集,同時可以使用torchvision.transforms對數據進行預處理。