Files
obsidian/Programming/ML/Pytorch basics.md
T
2026-07-30 11:35:10 +05:00

1.6 KiB

Подготовка данных

По мимо подготовки датасета реализуется 2 обязательных класса:

  1. Обязательный класс. В него мы подаем путь до датасета и трансформации, которые необходимо провести.
dataset = DatasetNameDataset(path=.... , transforms=....)

Вот так выглядит сам класс:

class DatasetNameDataset(Dataset): # название класса
	def __init__(self, *args, **kwargs) # инициализация
	
	def __len__(self):
		pass # Вот тут функционал поиска длины датасета
	
	def __getitem__(self, index):
		pass # Функционал поиска по индексу, где мы должны получить в ответе данные и ответ к ним (sample, target)
  1. Класс pytorch DataLoader
DataLoader(dataset=dataset, batch_size=BATCH_SIZE, shuffle=False)

где:

  • dataset* - наш датасет
  • batch* - 'пакет' из BATCH_SIZE чилса данных и ответов к ним.
  • shuffle* - либо разрешаем либо запрещаем перемешивать данные при каждой итерации

И для задач классификации, ровно как и для задач регрессии, данные классы идентичны. НО различаются они только тем, какие именно данные в них подаются и какой ответ мы получаем.