Deep learning 不共享变量的Tensorflow
我们修改了(卷积神经网络)运行在Adience数据库上,用于人脸性别分类。我们了解到,“参数共享”是有用的,因为假设一个面片特征在图像中无论位置如何都是有用的。除: 请注意,有时参数共享假设可能没有意义。当输入到ConvNet的图像具有特定的中心结构时,情况尤其如此,例如,我们应该期望在图像的一侧学习到与另一侧完全不同的特征。一个实际的例子是当输入是位于图像中心的面时 目标:因此,我们希望关闭CNN的参数共享 代码 我认为CIFAR-10教程使用参数共享?Deep learning 不共享变量的Tensorflow,deep-learning,tensorflow,Deep Learning,Tensorflow,我们修改了(卷积神经网络)运行在Adience数据库上,用于人脸性别分类。我们了解到,“参数共享”是有用的,因为假设一个面片特征在图像中无论位置如何都是有用的。除: 请注意,有时参数共享假设可能没有意义。当输入到ConvNet的图像具有特定的中心结构时,情况尤其如此,例如,我们应该期望在图像的一侧学习到与另一侧完全不同的特征。一个实际的例子是当输入是位于图像中心的面时 目标:因此,我们希望关闭CNN的参数共享 代码 我认为CIFAR-10教程使用参数共享?def推断(图像)函数中的这部分代码似乎
def推断(图像)
函数中的这部分代码似乎与此有关:
biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0))
bias = tf.nn.bias_add(conv, biases)
这要求:
def _variable_on_cpu(name, shape, initializer):
with tf.device('/cpu:0'):
var = tf.get_variable(name, shape, initializer=initializer)
return var
问题:
- 在CIFAR-10教程中是否确实发生了参数共享
- 您能否告诉我们,我们正在寻找关闭参数共享的正确代码,还是在其他地方寻找
- 欢迎提供任何其他帮助/建议,因为我们不知道从哪里开始李>
tf.nn.relu_layer()
(如和层中),它在内部执行矩阵乘法,并为每个输入神经元保留单独的参数
N.B.对于视觉任务来说,完全连接的层通常过于参数化,更合适的中间立场是使用a,它(非正式地)为每个输入维护单独的参数(如在完全连接的层中),但仅组合来自“附近”输入的值以产生输出(如卷积)。不幸的是,TensorFlow尚未包含局部感受野的实现,但将是一个有用的项目。“参数共享”是卷积层的一个属性。非共享等效层是一个本地连接层。但不确定是否实现了本地连接层,所以可以用完全连接的层替换所有conv层