tf.nn.embedding_lookup()详解

tf.nn.embedding_lookup(tensor,id)这个函数一般用于通过输入input_x的值,来获取权重大矩阵里面的每个字的向量。

a = tf.Variable(tf.random_normal([3,5],7,1))
b = tf.Variable(tf.nn.embedding_lookup(a,[0,2,1,0]))

with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(a.eval())
    print(b.eval())

输出的结果是:

[[8.127014  6.635704  6.214539  6.260006  8.599776 ]
 [6.6675673 7.7031364 7.4922285 5.4658527 6.449992 ]
 [6.5353246 8.161758  5.4754076 6.515927  5.5366616]]
[[8.127014  6.635704  6.214539  6.260006  8.599776 ]
 [6.5353246 8.161758  5.4754076 6.515927  5.5366616]
 [6.6675673 7.7031364 7.4922285 5.4658527 6.449992 ]
 [8.127014  6.635704  6.214539  6.260006  8.599776 ]]

自己已经测试,从这里可以看出,只要是声明的变量,就必须要给其初始化,函数第一个参数tensor a 已经给了其默认排序[0,1,2,3…a[0]]排序,第二个参数可以是一个数组,数组中的每个是tensor索引的位置

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值