-
Notifications
You must be signed in to change notification settings - Fork 151
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
怎么使用问题? #10
Comments
另外我看博客里描述SimBERT训练方式示意图里,正负样本是训练中随机选择的,但这里retrieval_test.py 里使用的LCQMC语料是有0,1正负样本的,请问retrieval_test.py使用LCQMC语料的作用是? |
1、随你,直接也可用; |
谢谢,所以这个模型构建语料的时候完全不需要负样本,模型训练过程中会自己随机选取负样本? |
这个模型本意是想训练一个近义句生成模型,检索模型其实是副产品,所以没有精细构建负样本的策略。当然一般来说,作为检索模型,它比不上精细地用已有负样本训练的模型。 |
|
其实也只是另一种方式实现的孪生网络,没有本质的区别 |
再次感谢回复,不过这新形式思路做法还是很特别的哈 |
运行simbert.py,好像有错误: @AutoRegressiveDecoder.set_rtype('probas') |
请对齐bert4keras版本,或者自己调整代码同步到最新版 |
嗯谢谢,正准备降下版本试下 |
您好,不知道案例能笔记本运行吗,运行过程有错误中断:Failure File "C:/Users/long3.xiang/Desktop/tcl/simbert/simbert/simbert.py", line 182, in gen_synonyms |
感觉你是乱运行。。。 按这个来吧。。。。( https://github.com/ZhuiyiTechnology/pretrained-models/blob/master/examples/simbert_base.py ) |
您好,这链接应该是加载模型测试生成案例,我这边是想用自己预料做fine-tune |
那你这个算什么failure?我看着挺正常的啊。 |
关键程序只运行了这一步就中断了,没有继续训练,也没有保存到模型 |
那我也不知道你的程序有啥问题。。。反正到你目前的输出为止还是挺正常的。 |
我看不懂你的ide,我只是想知道“Got”怎么来的。 |
File "C:/Users/long3.xiang/Desktop/tcl/simbert/simbert/simbert.py", line 181, in simbert.gen_synonyms ####################
|
好歹有张10G显存以上的显卡才能跑得起来吧~ |
10g显卡,那哭了没戏了,后面准备去服务器再试下,多谢;另外这段代码改成这样会减少错误 def read_corpus(): |
既然开源了就不可能存在这种问题,请往别的地方debug。你的问题我确实闻所未闻,提建议也无从下手。 |
抱歉问题有点多哈,还有个问题就是运行simbert.py 这个文件有进行finetune吗,它有实际改变原始的预训练模型的参数吗?还是只是读取预训练模型的embedding做unilm模型训练的输入呢 |
你需要先了解一下unilm是什么 |
有去了解nlu nlg集成一体一个bert完成,主要就想咨询:simbert.py文件是属于fintune不是pretraing吧,运行结束simbert.py文件后预训练模型参数有自动更新吗?因为bert4keras没有看到相关参数,keras框架好像输入Eenbendding接口有个trainable参数是可以控制输入embedding会不会被更新,不知道bert4keras在 finetune时也有相关控制参数吗 |
simbert.py文件应该算是pretraing文件;但bert4keras在 finetune时有相关控制输入embedding更新的参数吗,麻烦请教下,我在build_transformer_model等相关源码接口里好像没有找到 |
我还是那句话,你需要去了解一下unilm,甚至看了你这个回复后,我觉得你还需要去了解一下bert。 预训练和finetune本质都是训练,只不过任务不同、起点不同而导致命名不同而已,我无法理解你这种对预训练和finetune的区分究竟想表达什么含义。unilm只是在bert的基础上换了个mask,如果bert的参数不更新,那还训练个什么?预训练模型是一个整体,你只强调Embedding干嘛?你只是把bert当Embedding层了?如果是的话,还是好好补习一下bert吧。
控制哪些权重被冻结/放开训练,这是keras的功能,bert4keras不作重复开发。 |
好的感谢,那这样写是调用keras的对吗 ) encoder = keras.models.Model(bert.model.inputs, bert.model.outputs[0]) encoder.trainable = True |
|
好的感谢,这我前面有去查了看了下 |
就是用的文档写的版本,tensorflow 1.14 + keras 2.3.1 + bert4keras 0.10.5,但是报了这个错,应该怎么做呢 |
这个文档什么时候写了bert4keras 0.10.5? |
改为: |
使用相似召回retrieval_test.py,是需要先使用simbert.py 训练后才能使用吗
The text was updated successfully, but these errors were encountered: