Комбинируйте тензорную матрицу и разреженную матрицу одного и того же набора данных для разделения данных - PullRequest
1 голос
/ 28 мая 2020

У меня есть массив и разреженная матрица в тензорном типе, и оба они должны быть введены в классификатор нейронной сети. Поскольку данные слишком велики, мне нужно разделить их по партиям.

Как мне объединить мою разреженную матрицу и массив вместе, а затем разделить пакет данных поезда?

tensor(indices=tensor([[     0,      0,      0,  ..., 426017, 426017, 426017],
                       [   223,    310,   1045,  ...,     39,     14,    542]]),
       values=tensor([0.0730, 0.0722, 0.0911,  ..., 0.3244, 0.0883, 0.1659]),
       size=(426018, 10000), nnz=19173512, layout=torch.sparse_coo)
torch.Size([426018, 16])
tensor([[0.0154, 0.3296, 0.7500,  ..., 0.7628, 0.1643, 0.0092],
        [0.1041, 0.6322, 1.0000,  ..., 0.7612, 0.1629, 0.1283],
        [0.4987, 0.3387, 0.7500,  ..., 0.8692, 0.1879, 0.0150],
        ...,
        [0.1158, 0.6453, 1.0000,  ..., 0.6511, 0.2130, 0.0590],
        [0.0751, 0.2653, 0.7500,  ..., 0.7232, 0.1644, 0.0208],
        [0.4051, 0.3801, 1.0000,  ..., 0.8479, 0.2427, 0.1179]],
       dtype=torch.float64)

Выше показаны две части одного и того же набора данных, в которых одна - числовые функции (16), а вторая - функции tfidf в разреженной матрице.Так что, чтобы разделить его по пакету, мне нужно объединить их все вместе. Я знаю одну функцию data.utils.data.DataLoader, но не знаю, как скомбинировать свой набор данных для передачи в него.

...