Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问这种方式可以处理tensor类型的数据吗 #3

Open
tqnwhz opened this issue Apr 23, 2021 · 4 comments
Open

请问这种方式可以处理tensor类型的数据吗 #3

tqnwhz opened this issue Apr 23, 2021 · 4 comments

Comments

@tqnwhz
Copy link

tqnwhz commented Apr 23, 2021

您好!
由于我想要在对话任务中使用bert embedding,在生成回复解码每一步时,需要将已生成的回复转化为embedding,但是这里还处在计算图的定义过程中,数据都是tensor类型。我之前尝试过bert-as-service,似乎是不能处理这种情况的,想要请问一下这种方式可以解决这个问题吗?或者有什么其他的方法吗?
非常感谢!

@llq20133100095
Copy link
Owner

您好!
由于我想要在对话任务中使用bert embedding,在生成回复解码每一步时,需要将已生成的回复转化为embedding,但是这里还处在计算图的定义过程中,数据都是tensor类型。我之前尝试过bert-as-service,似乎是不能处理这种情况的,想要请问一下这种方式可以解决这个问题吗?或者有什么其他的方法吗?
非常感谢!

你的意思是说,你只想要bert生成的词向量吗?可以看get_embedding.py这个代码,里面可以拿到对应token的embedding,然后用sess进行输出,就可以拿到对应的embedding了。

@tqnwhz
Copy link
Author

tqnwhz commented Apr 23, 2021

您好!
由于我想要在对话任务中使用bert embedding,在生成回复解码每一步时,需要将已生成的回复转化为embedding,但是这里还处在计算图的定义过程中,数据都是tensor类型。我之前尝试过bert-as-service,似乎是不能处理这种情况的,想要请问一下这种方式可以解决这个问题吗?或者有什么其他的方法吗?
非常感谢!

你的意思是说,你只想要bert生成的词向量吗?可以看get_embedding.py这个代码,里面可以拿到对应token的embedding,然后用sess进行输出,就可以拿到对应的embedding了。

对的,我只想要bert生成的词向量。get_embedding.py内的输入是string,而我想要的输入是可能是一个shape是(n,)的string tensor。换而言之,我想要在tensorflow的计算图定义将bert当做一个op来使用。所以想请问一下这种使用方式是支持的吗?

@llq20133100095
Copy link
Owner

您好!
由于我想要在对话任务中使用bert embedding,在生成回复解码每一步时,需要将已生成的回复转化为embedding,但是这里还处在计算图的定义过程中,数据都是tensor类型。我之前尝试过bert-as-service,似乎是不能处理这种情况的,想要请问一下这种方式可以解决这个问题吗?或者有什么其他的方法吗?
非常感谢!

你的意思是说,你只想要bert生成的词向量吗?可以看get_embedding.py这个代码,里面可以拿到对应token的embedding,然后用sess进行输出,就可以拿到对应的embedding了。

对的,我只想要bert生成的词向量。get_embedding.py内的输入是string,而我想要的输入是可能是一个shape是(n,)的string tensor。换而言之,我想要在tensorflow的计算图定义将bert当做一个op来使用。所以想请问一下这种使用方式是支持的吗?

你的意思是想让bert模型作为中间层?应该是可以的,如果不行的话,可以用tensorflow2.0:
现在使用bert模型的话,可以直接用tensorflow2.0版本使用的,具体可以看我这篇文章:https://zhuanlan.zhihu.com/p/137222913。里面导入的transformers模型包含了主流的一些NLP模型,包括transformer、BERT等等,使用起来简便很多

@tqnwhz
Copy link
Author

tqnwhz commented Apr 23, 2021

您好!
由于我想要在对话任务中使用bert embedding,在生成回复解码每一步时,需要将已生成的回复转化为embedding,但是这里还处在计算图的定义过程中,数据都是tensor类型。我之前尝试过bert-as-service,似乎是不能处理这种情况的,想要请问一下这种方式可以解决这个问题吗?或者有什么其他的方法吗?
非常感谢!

你的意思是说,你只想要bert生成的词向量吗?可以看get_embedding.py这个代码,里面可以拿到对应token的embedding,然后用sess进行输出,就可以拿到对应的embedding了。

对的,我只想要bert生成的词向量。get_embedding.py内的输入是string,而我想要的输入是可能是一个shape是(n,)的string tensor。换而言之,我想要在tensorflow的计算图定义将bert当做一个op来使用。所以想请问一下这种使用方式是支持的吗?

你的意思是想让bert模型作为中间层?应该是可以的,如果不行的话,可以用tensorflow2.0:
现在使用bert模型的话,可以直接用tensorflow2.0版本使用的,具体可以看我这篇文章:https://zhuanlan.zhihu.com/p/137222913。里面导入的transformers模型包含了主流的一些NLP模型,包括transformer、BERT等等,使用起来简便很多

对的。不过我的代码不支持tf2,甚至tf1.15都不支持(捂脸)。我先参考一下吧。非常感谢您的回复!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants