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.lrn
是tf.nn.local_response_normalization
的缩写。
因此,您可能想查看的文档是:https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization
【讨论】:
【参考方案2】:正如nessuno 提到的,tf.nn.lrn
是tf.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() 方法是做啥的?的主要内容,如果未能解决你的问题,请参考以下文章
SurfaceView回调方法中对onDraw的super调用是做啥的,例如:super.onDraw(canvas)
请问hibernate中merge()、attachDirty()、attachClean()这三个方法是做啥的?怎么用?