【Pytorch】model.eval()与model.train()

server/2024/11/14 12:28:33/

model.train():
        作用是启用Batch Normalization 和 Dropout
        如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train()。model.train()是保证BN层能够用到每一批数据的均值和方差。对于Dropout,model.train()是随机取一部分网络连接来训练更新参数。

model.eval():
        如果模型中有BN层(Batch Normalization)和Dropout,在测试时添加model.eval()。保证BN层能够用全部训练数据的均值和方差,即测试过程中要保证BN层的均值和方差不变。对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。
        训练完train样本后,生成的模型model要用来测试样本。在测试集上进行测试之前,需要加上model.eval(),否则的话,有输入数据,即使不训练,它也会改变权值。这是model中含有BN层和Dropout所带来的的性质。


http://www.ppmy.cn/server/141570.html

相关文章

【Spring】Spring框架中有有哪些常见的设计模式

Spring 框架中广泛运用了多种设计模式,今天让我们来学习一下 1. 单例模式(Singleton Pattern) 用途:在Spring框架中,Bean默认是单例的,也就是说在容器中每种类型的Bean只有一个实例。这个设计可以节省资源…

uni-app小程序echarts中tooltip被遮盖

图表中的文案过长,tooltip溢出容器,会被遮盖住 解决方案: 在echarts的tooltip中有confine属性可将tooltip限制在容器内,不超过容器,就不易被遮盖

(Termux)旧手机变Ubuntu服务器

目录 简介 配置termux软件 安装open-ssh 更新SSL 添加密钥 启动 ssh 服务 查看登录用户名 查看连接 IP 地址 设置ssh登录密码 通过 XShell 连接手机模拟 Linux 系统 注意:XShell 需要与该手机在同一局域网上才可以进行连接 手机开启的ssh服务默认端口为 …

算法基础02一高精度,前缀和,差分

#include <iostream> #include <vector> using namespace std;const int N 1e6 10; //模板 CABvector<int> add(vector<int> &A,vector <int> &B) {vector<int> C;int t 0; // 用来保存每位的和&#xff08;包括进位&#xff…

基于微信小程序的药店管理系统+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、普通用户功能模块&#xff1a;管理员&#xff08;用户管理、药品分类管理、药品信息管理、系统管理、订单管理等&#xff09;&#xff0c;普通用户&#xff08;查看相关药品信息、充值、登录注册、个人中心、购物车、我的订单等&#…

机器视觉中常用图像处理库都有哪些?重点关注.net

当需要做一些图像处理方面的学习和研究的时候&#xff0c;首要任务就是选择一套合适的图像处理类库&#xff0c;这期我们主要简单介绍下各家图像库的一些优缺点。OpenCV&#xff0c;Intel IPP&#xff0c;Halcon&#xff0c;MATLAB &#xff0c;OpenGL&#xff0c;EmguCv&#…

科技资讯|Matter 1.4 标准正式发布,低功耗蓝牙助力其发展

连接标准联盟&#xff08;CSA&#xff09;宣布推出最新的 Matter 1.4 版本&#xff0c;引入了一系列新的设备类型和功能增强&#xff0c;有望提高包括 HomeKit 在内的智能家居生态系统之间的互操作性。 设备供应商和平台能够依靠增强的多管理员功能改善多生态系统下的用户体验&…

微信小程序获取上一页的数据

使用方法&#xff1a;getCurrentPages() let pages getCurrentPages(); // 获取页面栈let prevpage pages[pages.length - 2]; // 上一个页面//存在上一页if (prevpage) {// 获取上一页data里的数据let data prevpage.data; // 修改上一页的数据prevpage.setData({ details…