黑马程序员技术交流社区

标题: 【上海校区】net.train 和 net.eval的使用 [打印本页]

作者: 梦缠绕的时候    时间: 2019-1-2 09:34
标题: 【上海校区】net.train 和 net.eval的使用
在训练模型时会在前面加上:

model.train()
1
在测试模型时在前面使用:

model.eval()
1
同时发现,如果不写这两个程序也可以运行,这是因为这两个方法是针对在网络训练和测试时采用不同方式的情况,比如Batch Normalization 和 Dropout。

训练时是正对每个min-batch的,但是在测试中往往是针对单张图片,即不存在min-batch的概念。由于网络训练完毕后参数都是固定的,因此每个批次的均值和方差都是不变的,因此直接结算所有batch的均值和方差。所有Batch Normalization的训练和测试时的操作不同
在训练中,每个隐层的神经元先乘概率P,然后在进行激活,在测试中,所有的神经元先进行激活,然后每个隐层神经元的输出乘P。
---------------------
作者:Never-Giveup
来源:CSDN
原文:https://blog.csdn.net/qq_36653505/article/details/84728489
版权声明:本文为博主原创文章,转载请附上博文链接!


作者: 不二晨    时间: 2019-1-3 10:46
奈斯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2