Код: Выделить всё
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader, ConcatDataset
df1 = pd.DataFrame(list(range(1,11)))
df2 = pd.DataFrame(list(range(41,51)))
class testset(Dataset):
def __init__(self,data):
self.data = data
def __len__(self):
return len(self.data)
def __getitem__(self, index):
return self.data[0][index]
testdataset1 = testset(df1)
testdataset2 = testset(df2)
datasets = []
datasets.append(testdataset1)
datasets.append(testdataset2)
concat_dataset = ConcatDataset(datasets)
loader = DataLoader(
concat_dataset,
shuffle=False,
num_workers=0,
batch_size=3
)
for data in loader:
print(data)
tensor([4, 5, 6])
tensor([7, 8, 9])
tensor([10, 41, 42]) ← Этого не должно быть
tensor([43, 44, 45])
tensor([46, 47, 48])
tensor([49, 50])
В реальном случае я объединяю два временных ряда, где перекрытие в пакетах значений обоих наборов данных вызывает небольшие проблемы…
Это не должно быть проблемой, верно?
Подробнее здесь: https://stackoverflow.com/questions/683 ... ed-batches