问题描述
pytorch-lightning
进行训练网络的时候,需要另一个预训练的网络进行特征提取,因为预训练网络也是我自己编写的,有输出的效果图,但在另一个pytorch-lightning
编写的网络中发现,他在测试过程中输出的效果图跟原来不一样,并且eval
、detach
、requires_grad = False
都加了也是一样的问题
原因分析
经过不断调试,定位到是预训练模型参数改变的原因,但是eval
、detach
、requires_grad = False
这些我都加了。我是在pytorch-lightning
的init
方法里边进行eval
的,我无意中发现,他在初始化的时候。似乎会自动帮我改成train
模式
问题解决
如下,在on_train_start
加上eval
即可