我在研究Resnet的Tensorflow官方例子(https://github.com/tensorflow/models/blob/master/official/resnet/resnet_model.py),看不懂最后一层的表达它的型号:
inputs = tf.reshape(inputs, [-1, self.final_size])
inputs.get_shape().as_list()[-1]
如果我的解释正确,则 final_size 等于。但是对于普通的 CNN 模型,最后一个全连接层的表达式是这样的:
reshape = tf.reshape(pool2, [images.get_shape()[0], -1])
dim = reshape.get_shape()[1].value
weights = _variable_with_weight_decay('weights', shape=[dim, 384],
stddev=0.04, wd=0.004)
biases = _variable_on_cpu('biases', [384], tf.constant_initializer(0.1))
local3 = tf.nn.relu(tf.matmul(reshape, weights) + biases, name=scope.name)
_activation_summary(local3)
而且我还有一个关于模型复用的问题,是不是只有在我们使用多个GPU的时候才需要使用get_variable()来初始化变量?