AS FLOAT64需要更多内存,这是标记化矩阵的默认数据类型,我希望它在INT8中,从而节省空间。
这是我说话的方法,
texts_to_matrix(texts):
Return: numpy array of shape (len(texts), num_words).
Arguments:
texts: list of texts to vectorize.
mode: one of "binary", "count", "tfidf", "freq" (default: "binary").
答案 0 :(得分:1)
查看源代码,使用np.zeros()
创建结果矩阵here,不使用dtype
关键字参数,这将导致dtype
设置为默认值在function definition中设置float
。我认为选择这种数据类型是为了支持所有形式的转换,如tfidf
,这会导致非整数输出。
所以我认为你必须选择:
<强> 1。更改源代码
您可以更改为texts_to_matrix
的定义添加关键字参数,例如dtype
,并将创建矩阵的the line更改为
x = np.zeros((len(sequences), num_words), dtype=dtype)
2.使用其他工具进行预处理: 您可以使用其他工具预处理文本,然后将其提供给keras网络。例如,您可以使用scikit learn&#39; s CountVectorizer,如:
from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer(dtype=np.int8, ...)
matrix = cv.fit_transform(texts).toarray()