问题标签 [batch-normalization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1521 浏览

tensorflow - Keras 中的 BatchNormalization 层给出了意想不到的输出值

给定输入值并对它们进行规范化,如果我理解正确[1, 5],应该会产生类似的结果,因为[-1, 1]

然而这个最小的例子

产生以下输出:

所以它是[0.79519051, 4.17485714]而不是[-1, 1]

我查看了源代码,这些值似乎被转发到了tf.nn.batch_normalization。这看起来结果应该是我除了,但显然不是。

那么输出值是如何计算的呢?

0 投票
1 回答
192 浏览

multidimensional-array - 批量归一化:固定样本还是不同维度的样本?

当我阅读一篇论文“批量标准化:通过减少内部协变量偏移来加速深度网络训练”时,我想到了一些问题。

在论文中,它说:

由于训练数据中的 m 个样本可以估计所有训练数据的均值和方差,因此我们使用 mini-batch 来训练批归一化参数。

我的问题是:

他们是选择 m 个示例然后同时拟合批规范参数,还是为每个输入维度选择不同的 m 个示例集?

例如,训练集由x(i) = (x1,x2,...,xn):n维固定批次M = {x(1),x(2),...,x(N)},执行拟合所有gamma1~gammanbeta1~betan

对比

对于gamma_i,beta_i拣选不同批次M_i = {x(1)_i,...,x(m)_i}

0 投票
1 回答
4964 浏览

tensorflow - 如何在 tensorflow 中正确使用 tf.layers.batch_normalization()?

我对张量流中的内容感到困惑tf.layers.batch_normalization

我的代码如下:

培训似乎运作良好并且val_accuracy是合理的(比如说0.70)。问题是:当我尝试使用训练好的模型进行测试(即test函数)时,如果phase_train设置为Falsetest_accuracy则非常低(例如,0.000270),但是当phase_train设置为True时,test_accuracy似乎正确(例如0.69) .

据我了解,phase_train应该False处于测试阶段,对吧?我不确定问题是什么。我误解了批量标准化吗?

0 投票
1 回答
807 浏览

python - Keras BatchNormalization 种群参数在 tensorflow 中进行训练时更新

我在带有 Cuda 8.0 和 cuDNN 6 的 Ubuntu 16.04 中使用 Keras 2.0.8 和 Tensorflow 1.3.0。

我在我的模型中使用两个 BatchNormalization 层(keras 层)并使用tensorflow 管道进行训练。

我在这里面临两个问题-

  1. 即使在将K.learning_phase设置为True之后, BatchNorm 层总体参数(均值和方差)也不会在训练时更新。结果,推理完全失败了。我需要一些关于如何在训练步骤之间手动更新这些参数的建议。
  2. 其次,使用 tensorflow saver op保存训练好的模型后,当我尝试加载它时,结果无法重现。似乎权重正在改变。有没有办法在保存加载操作中保持权重相同?
0 投票
1 回答
1553 浏览

keras - keras 中的 BatchNormalization 层在测试阶段是如何实现的?

我最近想在 keras 中使用批量归一化来构建神经网络。正如原始论文中提到的,批量归一化在测试和训练时间的行为不同。我查看了文档:

我没有看到任何参数来判断它是处于训练阶段还是测试阶段,这与 tensorflow 的实现不同:

我想知道在测试阶段如何在 keras 中实现批量标准化层?提前致谢。

0 投票
1 回答
6591 浏览

machine-learning - 批量归一化而不是输入归一化

我可以在输入层之后立即使用批处理规范化层而不规范化我的数据吗?我可以期望获得类似的效果/性能吗?

在 keras 功能中,它会是这样的:

0 投票
2 回答
3024 浏览

tensorflow - 恢复模型时使用批量规范?

我在 tensorflow 中恢复模型时使用批处理规范有一个小问题。

以下是我的批量规范,从这里开始

我训练模型并使用tf.train.Saver(). 下面是测试代码:

但是预测结果总是很糟糕,就像这样:

一些提示:images_for_predict = mnist.test并且该self._build_graph方法有两个参数:batch_sizeis_training.

任何人都可以帮助我吗?

0 投票
1 回答
274 浏览

deep-learning - 如何将自定义bn层添加到caffe

我从 GitHub 下载了一个deeplabV2项目,发现它没有"BN"层。
我想将它添加到 caffe 代码但遇到此错误:

请问怎么解决?

0 投票
1 回答
42 浏览

machine-learning - 如何为layers.batch_normalization 创建一个初始化器?

默认beta_initializer值为layers.batch_normalizationtf.zeros_initializer()

是否可以创建具有任意值的新初始化程序?

0 投票
1 回答
445 浏览

caffe - 如何修改批量归一化层(DeconvNet)以便能够与 caffe 一起运行?

我想在我的数据上运行Deconvnet,但它似乎是为另一个版本的caffe. 有谁知道如何改变batch_params

在 Deconvnet 中的那个

例如,Caffe 提供的一个cifar10

一旦我想运行它,首先向我显示以下错误:

更改BN为后BatchNorm,显示有关参数的新错误:

有没有人尝试训练 Deconvnet?如果是的话,你能指导我吗?谢谢