tf.nn.lrn() 方法是做啥的?

Posted

技术标签:

【中文标题】tf.nn.lrn() 方法是做啥的?【英文标题】:what does the tf.nn.lrn() method do?tf.nn.lrn() 方法是做什么的? 【发布时间】:2016-05-22 16:35:20 【问题描述】:

这是从 cifar10 教程中截取的代码。它来自 cifar10.py。

# conv1
with tf.variable_scope('conv1') as scope:
kernel = _variable_with_weight_decay('weights', shape=[5, 5, 3, 64],
                                     stddev=1e-4, wd=0.0)
conv = tf.nn.conv2d(images, kernel, [1, 1, 1, 1], padding='SAME')
biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0))
bias = tf.nn.bias_add(conv, biases)
conv1 = tf.nn.relu(bias, name=scope.name)
_activation_summary(conv1)

# pool1
pool1 = tf.nn.max_pool(conv1, ksize=[1, 3, 3, 1], strides=[1, 2, 2, 1],
                     padding='SAME', name='pool1')
# norm1
norm1 = tf.nn.lrn(pool1, 4, bias=1.0, alpha=0.001 / 9.0, beta=0.75,
                name='norm1')

tf.nn.lrn 方法有什么作用?我在https://www.tensorflow.org/versions/r0.8/api_docs/python/index.html 上的 API 文档中找不到定义

【问题讨论】:

【参考方案1】:

tf.nn.lrntf.nn.local_response_normalization 的缩写。 因此,您可能想查看的文档是:https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization

【讨论】:

【参考方案2】:

正如nessuno 提到的,tf.nn.lrntf.nn.local_response_normalization (documentation) 的缩写

此外,this question 提供了很好的资源,以了解更多关于响应规范化层的信息。

发件人: http://caffe.berkeleyvision.org/tutorial/layers.html#data-layers

“局部响应归一化层通过对局部输入区域进行归一化来执行一种“横向抑制”。在 ACROSS_CHANNELS 模式下,局部区域跨越附近的通道,但没有空间范围(即,它们的形状为 local_size x 1 x 1). 在 WITHIN_CHANNEL 模式下,局部区域在空间上扩展,但在不同的通道中(即,它们的形状为 1 x local_size x local_size)。每个输入值除以 (1+(α/n)∑ix2i)β ,其中 n 是每个局部区域的大小,总和取自以该值为中心的区域(必要时添加零填充)。"

这些层已经失宠,因为它们对结果的影响很小,而其他技术被证明更有益。

【讨论】:

其他哪些技术更好用? 也许是批处理规范?

以上是关于tf.nn.lrn() 方法是做啥的?的主要内容,如果未能解决你的问题,请参考以下文章

.join() 方法到底是做啥的?

.join() 方法到底是做啥的?

SurfaceView回调方法中对onDraw的super调用是做啥的,例如:super.onDraw(canvas)

Python 装饰器是做啥的,它的代码在哪里? [复制]

Perl 的“祝福”到底是做啥的?

请问hibernate中merge()、attachDirty()、attachClean()这三个方法是做啥的?怎么用?