pytorch поставляется с набором данных для практического обучения MNIST.

машинное обучение

класс набора данных

pytorch поставляется с наборами данных

  1. torchvision предоставляет данные изображения
  2. torchtext предоставляет текстовые данные
import torch
import torchvision

# 下载数据集
# torchvision.datasets  提供数据集下载方式,把MNIST换成其他名字,MNIST是灰度图/IMDB电影评论文本数据
# torchvision.datasets.DatasetFolder 加载其他数据集
train_set = torchvision.datasets.MNIST(root='./data', train=True, download=True)
test_set = torchvision.datasets.MNIST(root='./data', train=False, download=True)

Загрузить локальный набор данных

data_path = r"../../../"   # r表该句为字符串

# 完成数据类
class MyDataset(Dataset):
    def __init__(slef):
        self.lines = open(data_path).readlines()
        
    def __getitem__(self, index):
        return self.lines[index]
    
    def __len__(self):
        return len(self.lines)
        
my_dataset = MyDataset()

загрузчик данных

При обучении данных с очень большим объемом данных все данные часто перемешиваются случайным образом, данные обрабатываются в пакеты, и данные одновременно подвергаются предварительной обработке.

# 数据加载器--处理数据
# 批处理数据batch   打乱数据shuffing
from torch.utils.data import DataLoader

batch_size = 128    # 并行处理样本数量,会将128份样本压缩成一份来进行处理
'''
shuffle 是否提前打乱数据
num_workers 加载数据的线程数
'''
train_set = DataLoader(dataset=train_set, batch_size=batch_size, shuffle=True, num_workers=2)
print('afterLoader_train_set  len=', len(train_set))
print('afterLoader_train_set  type=', type(train_set))

Подготовить данные

Формат набора данных изображения PIL.Image.Image, Чтобы обучить модель и обработать данные, используйтеtorchvision.transformsПреобразуйте объект данных в тензор, соответствующий требованиям, а затем стандартизируйте/регуляризируйте данные.

ToTensor

Регуляризация