#deep-learning #pytorch
Вопрос:
в чем разница между «torch.utils.data.TensorDataset» и «torch.utils.данные.Набор данных» — документы об этом неясны, и я не смог найти никаких ответов в Google.
Ответ №1:
Dataset
Класс-это абстрактный класс, который используется для определения новых типов (пользовательских) наборов данных. Вместо TensorDataset
этого это готовый к использованию класс для представления ваших данных в виде списка тензоров.
Вы можете определить свой пользовательский набор данных следующим образом:
class CustomDataset(torch.utils.data.Dataset):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
# Your code
self.instances = your_data
def __getitem__(self, idx):
return self.instances[idx] # In case you stored your data on a list called instances
def __len__(self):
return len(self.instances)
Если вы просто хотите создать набор данных, содержащий тензоры для входных объектов и меток, то используйте TensorDataset
непосредственно:
dataset = TensorDataset(input_features, labels)
Обратите внимание, что input_features
и labels
должно совпадать по длине первого измерения.