से बड़े सरणी के साथ टेंसफोर्लो वैरिएबल प्रारंभ करना मैं पूर्व-प्रशिक्षित word2vec
एम्बेडिंग के साथ एक tensorflow Variable
प्रारंभ करने की कोशिश कर रहा हूं।2 जीबी
मैं निम्नलिखित कोड है:
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.6GB।
यदि मैं tf.convert_to_tensor(X)
भी कोशिश करता हूं तो मुझे वही त्रुटि मिल रही है।
मुझे पता है कि यह इस तथ्य के कारण विफल रहता है कि सरणी 2 जीबी से बड़ी है। हालांकि, मुझे नहीं पता कि 2 जीबी से अधिक एक टेन्सफोर्लो Variable
'X.assign (जगह)' 'होने की tf.assign की जरूरत है (एक्स, जगह, validate_shape = झूठी)', या TensorFlow शिकायत कि आप टेंसर के आकार को बदल रहे हैं। इसके अलावा, यह काम करता है। –
धन्यवाद - प्लेसहोल्डर के आकार को सेट करके, नीचे + मैरी की टिप्पणी शामिल करने के उत्तर को अपडेट किया गया। अधिक जानकारी के लिए – dga
[प्रीलोड किए गए डेटा] (https://www.tensorflow.org/versions/r0.7/how_tos/reading_data/index.html#preloaded-data] के अंतर्गत दस्तावेज़ में इसे कैसे करें, इसका एक अच्छा विवरण है।) और एमएनआईएसटी प्रशिक्षण इनपुट को प्रीलोड करने के लिए प्लेसहोल्डर और एक चर का उपयोग करने के तरीके पर एक पूर्ण कार्य उदाहरण [यहां] (https://github.com/tensorflow/tensorflow/blob/r0.7/tensorflow/examples/how_tos/reading_data/ full_connected_preloaded_var.py) – stefano