Я нахожусь в процессе создания модели рекомендаций по контенту с использованием MXNet.Несмотря на то, что строк ~ 10K, проблемы нехватки памяти вызываются контекстами CPU и GPU в MXNet.Текущий код приведен ниже.
`` `
import mxnet as mx
import numpy as np
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import linear_kernel
df = pd.read_csv("df_text.csv")
tf = TfidfVectorizer(analyzer = "word",
ngram_range = (1,3),
min_df = 2,
stop_words="english")
tfidf_matrix = tf.fit_transform(df["text_column"])
mx_tfidf = mx.nd.array(tfidf_matrix, ctx=mx.gpu())
# Out of memory error occurs here.
cosine_similarities = mx.ndarray.dot(mx_tfidf, mx_tfidf.T)
` ``
Мне известно, что скалярное произведение является разреженной матрицей, умноженной на плотную матрицу, что может быть частью вопроса.При этом нужно ли рассчитывать точечное произведение по нескольким графическим процессорам, чтобы избежать проблем с нехваткой памяти?