深入理解model.eval()与torch.no_grad()

model.eval()
  • 使用model.eval()切换到测试模式,不会更新模型的w(权重),b(偏置)参数
  • 通知dropout层和batchnorm层在train和val中间进行切换:
    • train模式,dropout层会按照设定的参数p设置保留激活单元的概率(保留概率=p,比如keep_prob=0.8),batchnorm层会继续计算数据的mean和var并进行更新
    • val模式下,dropout层会让所有的激活单元都通过,而batchnorm层会停止计算和更新mean和var,直接使用在训练阶段已经学出的mean和var值
  • model.eval()不会影响各层的gradient计算行为,即gradient计算和存储与training模式一样,只是不进行反向传播(backprobagation)
torch.no_grad()
  • 用于停止autograd模块的工作,起到加速和节省显存的作用(具体行为就是停止gradient计算,从而节省了GPU算力和显存)
  • 不会影响dropout和batchnorm层的行为

model.eval()torch.no_grad()可以同时用,更加节省GPU的算力

  • 在val模式下,为什么让dropout层所有的激活单元都通过,因为train阶段的dropout层已经屏蔽掉了一些激活单元,在val模式下,让所有的激活单元都通过还能预测数据吗?
    • 在val模式下,让所有的激活单元都通过当然能预测数据了,相当于学习时限定你每次只能选择一份资料学,考试时开卷所有资料你都带着。val模式下,虽然让所有的激活单元都通过,但是对于各个神经元的输出, 要乘上训练时的删除比例后再输出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Idea 2023 使用GitLab提交代码提示输入Token

项目场景: 今天电脑换硬盘了,安装了 IDEA2023 款的社区版开发工具,下载代码后,提交并推送代码到远程服务器的时候,提示输入Token,并不是用户名和密码。 问题描述 推送代码到远程GitLab本地仓库的时候&…

单链表--续(C语言详细版)

2.6 在指定位置之前插入数据 // 在指定位置之前插入数据 void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x); 分为两种情况:1. 插入的数据在链表中间;2. 插入的数据在链表的前面。 // 在指定位置之前插入数据 void SLTInsert(SLTNode** …

AI绘画何以突飞猛进? 从历史到技术突破, 一文读懂火爆的AI绘画发展史

前言 自从前段时间偶然间被当下AI绘画的水平震住之后(超越一切的AI作画神器,和它创作的234个盔甲美女未来战士) ,作者深感当今AI绘画的飞速进展或许已远超所有人的预期。 而这里的前因后果,包括AI绘画的历史&#xff…

十九.升职加薪系列-JVM优化-解决JVM性能瓶颈的JIT即时编译器

前言 在很多年以前,做C或者C的程序员经常说Java语言的运行速度不如C或C,Java运行速度慢主要是因为它是解释执行的,而C或C是编译执行的,解释执行需要通过JVM虚拟机将字节码实时翻译成机器码(边翻译边执行)&…

Rust 版本升级:rustup update stable 报错

Rust 版本升级 rustup update stable 报错 一、报错内容 error: could not download file from ‘https://static.rust-lang.org/dist/channel-rust-stable.toml.sha256’ to ‘/Users/xxx/.rustup/tmp/rv6vdfu3eupwo64m_file’: failed to make network request: error sendi…

【实战场景】@Transactional中使用for update的注意点

【实战场景】Transactional中使用for update的注意点 开篇词:干货篇:知识回顾注意点1.锁的范围和粒度:2.事务的隔离级别:3.死锁:4.性能影响:5.事务的边界:6.异常处理:7. 数据库和存储…

【漏洞复现】网神 SecGate 3600 防火墙 sys_export_conf_local_save 任意文件读取

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

javaweb学习day5--《HTML篇》Springboot的模块创建、HTML的相关知识点详解

一、前言 从今天开始,就要启动后端的学习了,Springboot会贯穿到底,一定要跟着小编严谨的去搭建Springboot环境,依赖添加的过程可能需要2分钟左右,读者们要耐心等待一下,搭建好Springboot之后才算正式的开始…

算力革命:弹性租赁,解锁无限可能

华为创始人任正非曾在一场程序设计竞赛中说道,我们即将进入第四次工业革命,基础就是大算力。事实上,随着5G、人工智能等信息技术的迅猛发展,算力需求持续增长,但高昂的成本和快速的技术迭代让许多中小企业和个人开发者…

Covalent Network(CXT)通过社区投票将代币迁移并更名为 CXT,以推动人工智能更深层次的创新

专注于人工智能和 Web3 的模块化数据基础设施 Covalent Network(CXT)宣布,其治理提案已通过社区投票并顺利实施,即将原生代币 CQT 迁移为新的 CXT 代币,并部署至新的合约。这一关键性转变标志着 Covalent Network&…

git删除提交记录,并使用idea将代码重新提交到gitee仓库

git 新建分支将之前的记录删除重新提交 转载链接 https://blog.csdn.net/qq_37142541/article/details/139860956

03-NoSQL之Redis配置与优化

一、redis与memcache总体对比 1.性能 Redis:只使用单核,平均每一个核上Redis在存储小数据时比Memcached性能更高。 Memcached:可以使用多核,而在100k以上的数据中,Memcached性能要高于Redis。 2.内存使用效率 MemC…

springboot文达办公物资管理系统-计算机毕业设计源码51191

摘要 本文介绍了一种名为"文达办公物资管理系统"的基于JAVA语言、基于Springboot框架和MYSQL数据库开发的管理系统。该系统主要分为管理员和员工用户两个角色,以满足不同用户的需求。 对于管理员用户,系统提供了仪器设备管理、设备借用管理、设…

【大数据技术】换新电脑了,如何快速迁移MySQL到新电脑上(含程序+数据),这样既快速又高效,省去了“各种安装+各种配置+各种迁移数据”带来的麻烦和时间

【大数据技术】换新电脑了,如何快速迁移MySQL到新电脑上(含程序数据 背景步骤总结 背景 很久没有写博文了哦,最近我换了新的笔记本,于是需要在新笔记本电脑上搭建MySQL环境,因为我原电脑上是安装的MySQL解压版,故我想偷偷懒&…

可理解性评估:使用Google Gemini优化语音识别的意义保留

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

nftables(5)表达式(3)PAYLOAD EXPRESSIONS

PAYLOAD EXPRESSIONS Payload expressions在nftables中扮演着重要的角色,因为它们允许用户定义复杂的规则,这些规则可以基于数据包的内容(即有效载荷)来过滤、修改或允许数据包通过。这些表达式可以执行诸如数据拷贝、比较、位操…

实验1 —— 安全策略的练习

实验拓扑图 实验要求 1.DMZ区内的服务器,办公区仅能在办公时间内(9:00-18:00)可以访问,生产区的设备全天可以访问; 2.生产区不允许访问互联网,办公区和游客区允许访问互联网 3.办公区…

RabbitMQ保证消息被成功发送和消费

一 : 在使用 RabbitMQ 作为消息队列时,保证消息被成功发送和消费是一个非常重要的问题。以下是一些关键点和最佳实践,以确保消息的可靠传输和处理。* 配置方式: 保证消息被成功发送 确认模式(Confirm Mode):生产者可以…

在SpringBoot使用AOP防止接口重复提交

前言 防止接口重复提交有跟多种方法,可以在前端做处理。同样在后端也能处理,而且后端的处理也有很多中方法。最先能想到的就是加锁,也可以直接在该接口的实现过程中进行处理(可以参考防止数据重复提交的6种方法(超简单)&#xff…

动手学Avalonia:基于硅基流动构建一个文生图应用(一)

文生图 文生图,全称“文字生成图像”(Text-to-Image),是一种AI技术,能够根据给定的文本描述生成相应的图像。这种技术利用深度学习模型,如生成对抗网络(GANs)或变换器(T…