【发布时间】:2018-09-17 19:12:27
【问题描述】:
我正在使用 MXNet 构建内容推荐模型。尽管有大约 10K 行,但 MXNet 中的 CPU 和 GPU 上下文会引发内存不足问题。当前代码如下。
```
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)
```
我知道点积是稀疏矩阵乘以密集矩阵,这可能是问题的一部分。也就是说,是否必须跨多个 GPU 计算点积,以防止内存不足问题?
【问题讨论】:
-
有用的是使用 scipy 的稀疏矩阵 docs.scipy.org/doc/scipy/reference/sparse.html
标签: python-3.x numpy recommendation-engine tf-idf mxnet