我有一个张量类型的数组和稀疏矩阵,两者都将被馈送到神经网络分类器中。由于数据太大,我需要按批次拆分它。
我应该如何将稀疏矩阵和数组组合在一起,然后分批拆分训练数据?
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
,但不知道如何组合我的数据集以馈入其中。