import numpy as np import tensorflow as tf vocab_size=10000 embedding_size=100 #随机产生10个整型数,取值范围是(0,9] encoder_inputs = np.random.randint(10, size=10) print(encoder_inputs) embedding = tf.get_variable('embedding', [vocab_size, embedding_size]) print('embedding.shape=',embedding.shape) #将10个10000维的数嵌入到100维 encoder_inputs_embedded = tf.nn.embedding_lookup(embedding, encoder_inputs) with tf.Session() as sess: sess.run(tf.global_variables_initializer()) embedded = sess.run(encoder_inputs_embedded) print('embedded.shape=', embedded.shape)
结果:
[3 4 9 2 1 6 9 0 2 3] embedding.shape= (10000, 100) embedded.shape= (10, 100)
注意:get_variable方法如果再次运行,会报错。需要重启kernel. 另外,需要运行
sess.run(tf.global_variables_initializer())
将全局变量初始化。