tf.nn.embedding_lookup用法

 with tf.device('/cpu:0'):

#一共5000个字 ,每个字用64维表示 
            embedding = tf.get_variable('embedding', [5000, 64])
            embedding_inputs = tf.nn.embedding_lookup(embedding, self.input_x)

#测试:tf.nn.embedding_lookup 查找的是 5000所在维度的索引  ,一般都是将最后一个维度转化成64维度  

#一维

a=tf.nn.embedding_lookup(embedding,[64,600])
a.shape  #  TensorShape([Dimension(2), Dimension(64)])

#二维 

a2=tf.placeholder(tf.int32, [64, 600], name='input_x')
b=tf.nn.embedding_lookup(embedding,a2)
b.shape  #TensorShape([Dimension(64), Dimension(600), Dimension(64)])

#三维

a3=tf.placeholder(tf.int32, [64, self.config.seq_length,44], name='input_x')
b=tf.nn.embedding_lookup(embedding,a3)
b.shape #TensorShape([Dimension(64), Dimension(600), Dimension(44), Dimension(64)])
 

结合 #https://blog.csdn.net/uestc_c2_403/article/details/72779417 学习  

猜你喜欢

转载自blog.csdn.net/candy134834/article/details/81074417