Я пытаюсь инициализировать тензорный поток Variable
с предварительно обученными вложениями word2vec
.
У меня есть следующий код:
import tensorflow as tf
from gensim import models
model = models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
X = model.syn0
embeddings = tf.Variable(tf.random_uniform(X.shape, minval=-0.1, maxval=0.1), trainable=False)
sess.run(tf.initialize_all_variables())
sess.run(embeddings.assign(X))
И я получаю следующую ошибку:
ValueError: Cannot create an Operation with a NodeDef larger than 2GB.
Массив (X
), который я пытаюсь назначить, имеет форму (3000000, 300)
и его размер составляет 3,6 ГБ.
Я получаю ту же ошибку, если я попробую tf.convert_to_tensor(X)
.
Я знаю, что это не удается из-за того, что массив больше 2 ГБ. Тем не менее, я не знаю, как назначить массив размером более 2 ГБ для тензорного потока Variable