为单热矢量创建巨大的3D稀疏numpy数组时的内存错误

时间:2018-05-21 03:49:22

标签: python numpy scipy nlp deep-learning

我正在尝试为我的语言翻译LSTM网络创建3个张量。

import numpy as np
Num_samples=50000
Time_step=100
Vocabulary=5000
shape = (Num_samples,Time_step,Vocabulary)
encoder_input_data = np.zeros(shape,dtype='float32')
decoder_input_data = np.zeros(shape,dtype='float32')
decoder_target_data = np.zeros(shape,dtype='float32')

显然,我的机器没有足够的内存来执行此操作。由于数据表示为单热矢量,因此似乎使用csc_matrix()中的函数scipy.sparse将成为解决方案,如此tread和此tread中所述。< / p>

但在尝试csc_matrix()crc_matrix()之后,它们似乎只支持2D数组。

6年前的

Old treads确实讨论过这个问题,但它们不是以机器学习为导向的。

我的问题是:是否有任何python库/工具可以帮助我创建稀疏的3D数组,这些数组允许我以后存储单热矢量用于机器学习目的?

0 个答案:

没有答案