tensorflow学习笔记--tf.nn.embedding_lookup

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())

将全局变量初始化。




猜你喜欢

转载自blog.csdn.net/qq_28808697/article/details/80678877