keras - 有人可以帮助解释 keras.backend.learning_phase_scope(1) 的使用吗?
问题描述
需要帮助,因为我是 Keras 的新手,并且正在阅读有关 dropout 以及在训练和验证阶段使用 dropout 如何对损失计算产生影响的内容。这是因为 dropout 仅出现在训练时而不是验证时,因此比较两个损失可能会产生误导。
问题是
- learning_phase_scope(1)的使用
- 它如何影响验证
- 使用 dropout 时要采取哪些步骤来纠正测试损失?
解决方案
它不仅需要更改,Dropout
而且BatchNormalization
还需要更改,否则会影响验证性能。
如果您使用 keras 并且只想获得验证损失(和/或准确性或其他指标),那么您最好使用model.evaluate()
或添加validation_data
whilemodel.fit
而不要对learning_phase_scope
.
表示它learning_phase_scope(1)
用于训练,0 用于预测/验证。
就我个人而言,我learning_phase_scope
只在我想训练一些不以简单结尾的东西model.fit
(可视化 CNN 过滤器)但在过去 3 年中只使用一次的时候使用。
推荐阅读
- grails - Grails 2.5.1 domain.get(id) 获取缓存数据
- ruby-on-rails - 如何在不同的上下文中传递变量
- jmeter - 从 ADF 11gR1 迁移到 12c 后,JMeter 现有脚本不起作用
- javascript - Javascript Keydown 事件被触发两次
- mongodb - 防止 Mongodb 中的重叠范围
- git - Git:在合并到主之前删除文件夹内容
- spring-boot - Vault APPROLE 身份验证 Spring Cloud
- c# - 从 github 下载后打开 Visual Studio 项目导致“项目目录中不存在文件”
- c# - 无法将环境变量从 .json 文件提取到 .NetCoreApp
- ios - 类型“X”不符合协议“可编码”