为什么第一个图的列表print的结果会有这么多重复的,而第二张图却没有呢?
你的水仙花数,重复出现了,因为你没校验d,当d大于0时是四位数,不应该输出水仙花数了
不知道你这个问题是否已经解决, 如果还没有解决的话:灵感的出现来源于之前使用了一版别人家的bert,发现这个bert有的时候能够预测出不一样的标签,但是当比较train()或者eval()的结果的时候,发现中间的结果一样。
比较别人家的bert和我方bert的各种精细的结构之后,终于
去除掉所有的print,只在预测之中加上print之后,大功告成,程序可以正常运行!!!
在pytorch训练和预测过程中,网络层,包括最终的结果,尽量不要有任何的输出,否则就会可能会发生模型预测都是一个标签的现象!!!
猜想:错误发生的原因可能在于模型运行的结果应该是在gpu上面,而输出最终的过程在cpu上面,cpu与gpu有着矛盾与冲突,所以中途输出相应参数会导致最终预测结果出错,都是一个标签