Я пытаюсь создать 3 тензора для своей сети LSTM для языкового перевода.
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
будет решением, как предлагается в этом шаге и этом шаге .
Но после попытки csc_matrix()
и crc_matrix()
кажется, что они поддерживают только 2D-массив.
Старые протекторы из 6 лет назад говорили об этой проблеме, ноони не ориентированы на машинное обучение.
Мой вопрос таков: есть ли какой-нибудь python lib / tool, который может помочь мне создавать разреженные трехмерные массивы, которые позволят мне позднее хранить горячие векторы для машинного обучения?