我正在研究Resensflow(https://github.com/tensorflow/models/blob/master/official/resnet/resnet_model.py)的Tensorflow官方示例,我不明白其模型最后一层的表达式:
inputs = tf.reshape(inputs, [-1, self.final_size])
如果我的解释是正确的,则final_size等于inputs.get_shape().as_list()[-1]
。
但对于普通的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()来初始化变量吗?