- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近开始使用 Tensorflow,并一直在尽力适应环境。这真是太棒了!然而,使用 tf.contrib.layers.batch_norm 进行批量归一化有点棘手。现在,这是我正在使用的函数:
def batch_norm(x, phase):
return tf.contrib.layers.batch_norm(x,center = True, scale = True,
is_training = phase, updates_collections = None)
使用这个,我遵循了我在网上找到的大多数文档(还有问答),这使我得出以下结论:
1) is_training 对于训练应设置为 True,对于测试应设置为 false。这是有道理的!训练时,我收敛了(误差 < 1%,Cifar 10 数据集)。
但是在测试过程中,我的结果很糟糕(错误> 90%),除非我将(更新集合=无)作为参数添加到上面的批规范函数中。只有以此作为参数,测试才会给出我预期的错误。
我也确信使用以下内容进行培训:
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops): # Ensures, Updating ops will perform before training
with tf.name_scope('Cross_Entropy'):
cross_entropy = tf.reduce_mean( # Implement Cross_Entropy to compute the softmax activation
tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y_conv)) # Cross Entropy: True Output Labels (y_), Softmax output (y_conv)
tf.summary.scalar('cross_entropy', cross_entropy) # Graphical output Cross Entropy
with tf.name_scope('train'):
train_step = tf.train.AdamOptimizer(1e-2).minimize(cross_entropy) # Train Network, Tensorflow minimizes cross_entropy via ADAM Optimization
with tf.name_scope('Train_Results'):
with tf.name_scope('Correct_Prediction'):
correct_prediction = tf.equal(tf.argmax(y_conv, 1), tf.argmax(y_, 1)) # Check if prediction is wrong with tf.equal(CNN_result,True_result)
with tf.name_scope('Accuracy'):
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) # Find the percent accuracy, take mean of correct_prediction outputs
tf.summary.scalar('accuracy', accuracy) # Graphical output Classification Accuracy
这应该确保批量归一化参数在训练期间更新。
所以这让我相信 update collections = None 只是我的批量标准化函数的一个很好的默认值,在测试过程中函数将确保不会调整任何批量标准化参数......我是对的吗?
最后:在测试阶段,打开和关闭批量标准化时获得良好结果(预期错误)是否正常?使用上面的批归一化函数,我能够很好地训练(is_training = True)和测试(is_training = False)。然而,在测试期间(is_training = True)我仍然能够获得很好的结果。这只是给我一种不好的感觉。有人可以解释为什么会发生这种情况吗?或者它是否应该发生?
感谢您的宝贵时间!
最佳答案
移动平均值
不稳定的衰减
率(默认0.999)可能是训练性能相当良好但验证/测试性能较差的原因。尝试稍低的衰减
率(0.99 或0.9)。另外,请尝试 zero_debias_moving_mean=True
以提高稳定性。
您还可以尝试不同的批量大小,看看验证性能是否有所提高。使用批量归一化时,大批量可能会破坏验证性能。请参阅this .
关于Tensorflow批量标准化: tf. contrib.layers.batch_norm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47953242/
我只想在我保存的单个文件上运行coffee lint和coffee compile。我的项目中有成百上千个CoffeeScript文件,而编译它们都需要太多时间。 这是我的Gruntfile: mod
我正在使用 grunt-contrib-compass 来处理我的 .SCSS 文件 compass: { dist: { options: { cssDir: 'www/st
不幸的是,grunt-contrib-watch和 grunt-contrib-connect看起来不太好。 关于 grunt-contrib-connect readme它说: Note that
我是 nodeJS 和 grunt 的新手。我在这个项目中有这个 Gruntfile,我想对我项目中的所有 html 文件进行实时重新加载,这样我就不必一直刷新浏览器来检测新的更改。不知何故,我遇到了
我已经根据这些下载并构建了open cv open cv docs . 我正在尝试编译这个 Eigenfaces demo ,我收到以下错误。 fatal error: 'opencv2/contri
我有两个目录 src 和 compiled。我想使用 Grunt Watch 确保从 src 到 compiled 的单向数据同步.作为中间步骤,我想编译 *.less 文件以及使用 ES6 语法编写
我创建了一个 lein 项目, 比使用 eclips 的 dev-dependency 更新它的 project.clj 我跑了“lein deps” 它下载了所有依赖项 但是在 my.m2/repo
我有一些在 RStudio 中完美执行的 R 代码,但是当我在 cmd 中运行它时,我收到以下错误。 Installing package into 'C:/Users/Anish/Documents
我正在尝试为上下文强盗问题 (https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part
序曲: Ant-Contrib 为安装和启动提供了一个很好解释的 wiki 页面 ([ http://ant-contrib.sourceforge.net/#install][1] )。 事实上,只
当我尝试使用 Ant-contrib 的 FOR 循环时遇到以下错误: Invalid type class org.apache.tools.ant.taskdefs.optional.script
我正在使用DapperExtensions v4.0.30319,并且试图让Dapper.Contrib知道我的架构不是DBO。我提供了: public class EngineMapper : Cl
他们无论如何要直接生成缩小的 js 吗?我不想使用其他命令,例如 grunt uglify 因为源映射不会指向咖啡而是指向 js 最佳答案 我明白你对源 map 的看法,但你仍然可以在一个链中使用 u
我是整个 JVM 方面的新手,正在尝试使用 clojure。我正在尝试加载 clojure-contrib 但失败了: # in bash $ java -cp /path/to/clojure.ja
我正在使用 ant,并且在 if/then/else 任务(ant-contrib-1.0b3.jar)上遇到问题。 我正在运行一些可以使用下面的 build.xml 进行简化的东西。 我期待从 'a
我正在使用grunt-contrib-jasmine运行我的JavaScript规范。运行规范时如何将调试输出写入控制台,即如何获取 console.log("something"); 在控制台中显示
占用的问题 我运行以下命令来安装旧版本的opencv-contrib-python(4.0.0.21)。然后发生错误,无法安装此软件包。如何解决此错误? pip install opencv-cont
互联网上是否有可用的 Wicket Contrib Examples 的源代码- CD应用程序?谢谢。 最佳答案 您说您在对 Don 的回答的评论中查看了“svn”;哪个SVN?是这个吗? http:
我在 Maven 中使用 FindBugs,使用以下配置: org.codehaus.mojo findbugs-mave
我的构建脚本中有以下任务。 我从我的 Mac 机器运行这个构建脚本。它给出了以下错误。 Problem: failed to cr
我是一名优秀的程序员,十分优秀!