tensorflow中embedding代码如何用Paddle中的embedding替换?

5f0d552i  于 2021-11-29  发布在  Java
关注(0)|答案(6)|浏览(306)

tf.nn.embedding_lookup() 和 fluid.layers.embedding()可以相互替换吗?总感觉不是一回事。

tmb3ates

tmb3ates1#

@2017mygit 是对应且可以替换的,请问你感觉哪里有问题呢

kmynzznz

kmynzznz2#

Paddle里这个查找表怎么送进去呢?这个地方和tensorflow不一样,没有理解清楚

hrysbysz

hrysbysz3#

@2017mygit 查找表是作为模型参数保存的,在初始化或load已有的模型时会初始化查找表,不需要送进去。另外与tensorflow哪里不一样,能详细说一下么?

如果你的问题是不知道如何初始化模型参数,可以参考 http://paddlepaddle.org/documentation/docs/zh/1.2/user_guides/howto/training/single_node.html

zzoitvuj

zzoitvuj4#

在tensorflow中:tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None, validate_indices=True, max_norm=None),其中params是指查找表,,ids对应要找的params中的位置。
paddle中:paddle.fluid.layers.embedding(input, size, is_sparse=False, is_distributed=False, padding_idx=None, param_attr=None, dtype='float32')这里只有size这个维度信息参数,没有tensorflow中的params这个传参入口。如果我想让它在自己设定的查找表中查找数据,就不知道该如何实现了?谢谢您的解答。

wswtfjt7

wswtfjt75#

嗯,理解你说的意思了。目前paddle提供的embedding接口确实不支持你说的那种方式,如果每次都需要设定查找表,只能通过先获取到embedding的weight变量,然后在查找前将自定义的查找表赋值给weight。但一般来说网络创建之后并初始化后,查找表就不应该动态设定,你具体是什么需求呢,需要按照这种方式来使用embedding?

kzipqqlq

kzipqqlq6#

谢谢您,我就是想将tensorflow中的代码用paddle实现一下,是关于机器阅读理解的。再次谢谢您!

相关问题