Создание поезда и тестового загрузчика данных ⇐ Python
-
Гость
Создание поезда и тестового загрузчика данных
На самом деле у меня есть каталог RealPhotos, содержащий 17000 фотографий jpg. Мне было бы интересно создать загрузчик данных поезда и тестовый загрузчик данных
ls RealPhotos/ 2007_000027.jpg 2008_007119.jpg 2010_001501.jpg 2011_002987.jpg 2007_000032.jpg 2008_007120.jpg 2010_001502.jpg 2011_002988.jpg 2007_000033.jpg 2008_007123.jpg 2010_001503.jpg 2011_002992.jpg 2007_000039.jpg 2008_007124.jpg 2010_001505.jpg 2011_002993.jpg 2007_000042.jpg 2008_007129.jpg 2010_001511.jpg 2011_002994.jpg 2007_000061.jpg 2008_007130.jpg 2010_001514.jpg 2011_002996.jpg 2007_000063.jpg 2008_007131.jpg 2010_001515.jpg 2011_002997.jpg 2007_000068.jpg 2008_007133.jpg 2010_001516.jpg 2011_002999.jpg 2007_000121.jpg 2008_007134.jpg 2010_001518.jpg 2011_003002.jpg 2007_000123.jpg 2008_007138.jpg 2010_001520.jpg 2011_003003.jpg ... Я знаю, что могу создать подкласс TensorDataset, чтобы сделать его совместимым с неразмеченными данными, с помощью
класс UnlabeledTensorDataset(TensorDataset): """Набор данных, обертывающий немаркированные тензоры данных. Каждый образец будет получен путем индексации тензоров вдоль первого измерение. Аргументы: data_tensor (Тензор): содержит образцы данных. """ защита __init__(self, data_tensor): self.data_tensor = data_tensor def __getitem__(сам, индекс): вернуть self.data_tensor[индекс] И что-то в этом роде для обучения автокодировщика
X_train = rnd.random((300,100)) поезд = UnlabeledTensorDataset(torch.from_numpy(X_train).float()) train_loader = data_utils.DataLoader (поезд, пакет_размер = 1) для эпохи в диапазоне (50): для пакета в train_loader: данные = переменная (пакетная) оптимизатор.zero_grad() вывод = модель (данные) потеря = критерий (выход, данные)
На самом деле у меня есть каталог RealPhotos, содержащий 17000 фотографий jpg. Мне было бы интересно создать загрузчик данных поезда и тестовый загрузчик данных
ls RealPhotos/ 2007_000027.jpg 2008_007119.jpg 2010_001501.jpg 2011_002987.jpg 2007_000032.jpg 2008_007120.jpg 2010_001502.jpg 2011_002988.jpg 2007_000033.jpg 2008_007123.jpg 2010_001503.jpg 2011_002992.jpg 2007_000039.jpg 2008_007124.jpg 2010_001505.jpg 2011_002993.jpg 2007_000042.jpg 2008_007129.jpg 2010_001511.jpg 2011_002994.jpg 2007_000061.jpg 2008_007130.jpg 2010_001514.jpg 2011_002996.jpg 2007_000063.jpg 2008_007131.jpg 2010_001515.jpg 2011_002997.jpg 2007_000068.jpg 2008_007133.jpg 2010_001516.jpg 2011_002999.jpg 2007_000121.jpg 2008_007134.jpg 2010_001518.jpg 2011_003002.jpg 2007_000123.jpg 2008_007138.jpg 2010_001520.jpg 2011_003003.jpg ... Я знаю, что могу создать подкласс TensorDataset, чтобы сделать его совместимым с неразмеченными данными, с помощью
класс UnlabeledTensorDataset(TensorDataset): """Набор данных, обертывающий немаркированные тензоры данных. Каждый образец будет получен путем индексации тензоров вдоль первого измерение. Аргументы: data_tensor (Тензор): содержит образцы данных. """ защита __init__(self, data_tensor): self.data_tensor = data_tensor def __getitem__(сам, индекс): вернуть self.data_tensor[индекс] И что-то в этом роде для обучения автокодировщика
X_train = rnd.random((300,100)) поезд = UnlabeledTensorDataset(torch.from_numpy(X_train).float()) train_loader = data_utils.DataLoader (поезд, пакет_размер = 1) для эпохи в диапазоне (50): для пакета в train_loader: данные = переменная (пакетная) оптимизатор.zero_grad() вывод = модель (данные) потеря = критерий (выход, данные)
Мобильная версия