我正在构建一个基于内容的简单推荐系统。为了以GPU加速的方式计算余弦相似度,我使用了Pytorch
。
从csr_matrix
创建tfidf词汇量张量时,它会提示以下RuntimeErrorrRuntimeError: [enforce fail at CPUAllocator.cpp:56] posix_memalign(&data, gAlignment, nbytes) == 0. 12 vs 0
我这样做是这样的:
coo = tfidf_matrix.tocoo()
values = coo.data
indices = np.vstack( (coo.row, coo.col ))
i = torch.LongTensor(indices)
v = torch.FloatTensor(values)
tfidf_matrix_tensor = torch.sparse.FloatTensor(i, v, torch.Size(coo1.shape)).to_dense()
# Prompts the error
我尝试了一个小的测试(tfidf矩阵大小= 10,296)数据集,它可以工作。
实际数据集中的tfidf矩阵大小为(27639,226957)
最佳答案
我尝试了使用较旧版本的PyTorch引发此错误的同一段代码。它说我需要更多的RAM。因此,它不是PyTorch错误。唯一的解决方案是以某种方式减小矩阵大小。
关于python - Pytorch RuntimeError : [enforce fail at CPUAllocator. cpp :56] posix_memalign(&data, gAlignment,nbytes)== 0.12 vs 0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56272981/