web-dev-qa-db-fra.com

Pytorch RuntimeError: [imposer l'échec à CPUAllocator.cpp: 56] posix_memalign (& data, gAlignment, nbytes) == 0. 12 vs 0

Je construis un système de recommandations basé sur le contenu simple. Afin de calculer la similitude cosinus de manière accélérée par le GPU, j'utilise Pytorch.

Lors de la création du tenseur de vocabulaire tfidf à partir d'un csr_matrix, Il propose ce qui suit RuntimeErrorr

RuntimeError: [enforce fail at CPUAllocator.cpp:56] posix_memalign(&data, gAlignment, nbytes) == 0. 12 vs 0

Je le fais de cette façon:

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

J'ai essayé avec un petit ensemble de données de test (taille de matrice tfidf = 10 296) et cela fonctionne. La taille de la matrice tfidf du jeu de données réel est (27639, 226957)

6
room13

J'ai essayé le même morceau de code qui lançait cette erreur avec l'ancienne version de PyTorch. Il a dit que j'avais besoin de plus de RAM. Ce n'est donc pas un bug de PyTorch. La seule solution consiste à réduire la taille de la matrice d'une manière ou d'une autre.

1
Andrew Sklyar