苏剑林(Jianlin Su)

Results 390 comments of 苏剑林(Jianlin Su)

请先把Tensorflow、Keras、bert4keras的版本写对,然后再给出错误信息的上下文日志

目前推荐先使用roformer-sim的有监督版(ft,https://github.com/ZhuiyiTechnology/roformer-sim ),它是用sentence-bert的方式训练的。 至于CoSENT版,我们会进一步完善CoSENT相关技术后,然后再重新预训练一版放出,敬请期待。

这就真的不清楚了~

我用github最新版和pip上的0.11.3版都测了测你这句代码,没任何异常呀。

没用过这么高版本的tf2,我也无法提供什么帮助了。 衷心的建议是“珍惜生命,远离tf2”

推断时有用显卡么?还是纯cpu?seq2seq的解码本身是慢一些。

那你测过直接预测时需要多长时间么?就是不包装为tf serving,直接在模型脚本那里预测。

> 测过,模型输入到输出大概是0.02秒 这也太快了吧,我用RTX测,平均也要500ms左右~ 如果你原来的预测没问题,那么tf serving我也帮不了你了,因为我也没搞过tf serving,不熟悉相关内容~

这个问题我没法帮你解决,但是有几点观测供你参考: 1、warning不是错误,tf中出现warning是很正常的事情; 2、所以我不知道你的“紧接着程序就停止了”是怎么回事,但可以确定跟warning没关系,建议自行排查; 3、tf 1.14 + keras 2.3.1是我开发时用的环境,按理说出错的概率最小; 4、“f1: 0.00000, precision: 1.00000, recall: 0.00000, best f1: 0.00000”不是错误,只是模型没优化成功; 5、模型优化不成功,这是一个“运气”问题,我目前没法解决; 6、没错,确实是“运气”问题,因为同一个脚本,同一个环境,有人跑成功过(第一个epoch的loss降到1以下),有人就是死活跑不成功(loss死活不降),有人坚持跑了七八十个epoch才成功(很多个epoch之后loss才降低下来); 7、再次强调,这是一个“运气”问题,下面是一些“碰运气”的思路: - 如果你换了自己的数据,那么要注意跑更多的epoch(原数据大约有17万条,如果你自己的数据只有1万条,那么你要跑17个epoch,才能顶得上原数据的1个epoch); - 如果你直接用的原数据,那么还可以尝试坚持跑更多的epoch; - 可以试试去掉ema; - 试试去掉dropout/增大dropout; - 换个优化器;...