Closed Dontfall closed 6 years ago
I have the same problem , can anybody show your solution ?
@daicoolb I have not solved this problem.
I have tried to read the step code on by one , but I didn't find the wrong variable scope.
@daicoolb me too!
Now , I have solved the problem , THANKS
@daicoolb 哇,请问,你是怎么解决的
@daicoolb Excuse me, how did you solve it?
just coding the BN
@daicoolb thanks,yesterday, I haver solved the problem,but, arise a new problem.
Traceback (most recent call last):
File "./tools/train_net.py", line 221, in
Caused by op u'save_1/Assign_217', defined at:
File "./tools/train_net.py", line 221, in
InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [1024] rhs shape= [2048] [[Node: save_1/Assign_217 = Assign[T=DT_FLOAT, _class=["loc:@resnet_v2_50/postnorm/moving_variance"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](resnet_v2_50/postnorm/moving_variance, save_1/RestoreV2_217/_9)]]
I did NOT have the problem, maybe you use the wrong BN
@daicoolb Hey, can you show your solution? Let me see how to change. thanks!!
@daicoolb Thank you, Miss Sister
jsut modify the BN is ok.
@daicoolb sorry,I don‘t understand. Is it here? def resnet_arg_scope(is_training=True, batch_norm_decay=0.997, batch_norm_epsilon=1e-5, batch_norm_scale=True): batch_norm_params = { 'is_training': False, 'decay': batch_norm_decay, 'epsilon': batch_norm_epsilon, 'scale': batch_norm_scale, 'trainable': False, 'updates_collections': tf.GraphKeys.UPDATE_OPS }
with arg_scope(
[slim.conv2d],
weights_regularizer=slim.l2_regularizer(cfg.TRAIN.WEIGHT_DECAY),
weights_initializer=slim.variance_scaling_initializer(),
trainable=is_training,
activation_fn=tf.nn.relu,
normalizer_fn=slim.batch_norm,
normalizer_params=batch_norm_params):
with arg_scope([slim.batch_norm], **batch_norm_params) as arg_sc:
return arg_sc
@daicoolb 小姐姐,请问,你能将具体的修改步骤教我吗?谢谢!
just move the BN after pool5 is OK
@daicoolb thanks
@Dontfall Can you please explain what changes need to be done i got the same error of Variable resnet_v2_152/postnorm/gamma already exists, disallowed.
when I use the resnet v2 as the base network in faster rcnn, it has the errors: Fixing 3 blocks. Traceback (most recent call last): File "./tools/train_net.py", line 221, in
main()
File "./tools/train_net.py", line 217, in main
max_iters=args.max_iters)
File "/home/xiewei/densecap-tensorflow/tools/../lib/dense_cap/train.py", line 485, in train_net
sw.train_model(sess, max_iters)
File "/home/xiewei/densecap-tensorflow/tools/../lib/dense_cap/train.py", line 318, in train_model
lr, train_op = self.construct_graph(sess)
File "/home/xiewei/densecap-tensorflow/tools/../lib/dense_cap/train.py", line 148, in construct_graph
layers = self.net.create_architecture('TRAIN', num_classes=1, tag='default')
File "/home/xiewei/densecap-tensorflow/tools/../lib/nets/network.py", line 812, in create_architecture
rois, cls_prob = self._build_network(training)
File "/home/xiewei/densecap-tensorflow/tools/../lib/nets/network.py", line 601, in _build_network
fc7 = self._head_to_tail(pool5, is_training)
File "/home/xiewei/densecap-tensorflow/tools/../lib/nets/resnet_v2.py", line 131, in _head_to_tail
scope=self._resnet_scope)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/slim/python/slim/nets/resnet_v2.py", line 221, in resnet_v2
net, activation_fn=nn_ops.relu, scope='postnorm')
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 181, in func_with_args
return func(*args, current_args)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.py", line 643, in batch_norm
outputs = layer.apply(inputs, training=is_training)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.py", line 671, in apply
return self.call(inputs, args, kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.py", line 559, in call
self.build(input_shapes[0])
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/normalization.py", line 189, in build
trainable=True)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/layers/base.py", line 458, in add_variable
trainable=trainable and self.trainable)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 1203, in get_variable
constraint=constraint)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 1092, in get_variable
constraint=constraint)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 417, in get_variable
return custom_getter(custom_getter_kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.py", line 1539, in layer_variable_getter
return _model_variable_getter(getter, args, kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/layers/python/layers/layers.py", line 1531, in _model_variable_getter
custom_getter=getter, use_resource=use_resource)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 181, in func_with_args
return func(*args, *current_args)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.py", line 262, in model_variable
use_resource=use_resource)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 181, in func_with_args
return func(args, **current_args)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.py", line 217, in variable
use_resource=use_resource)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 394, in _true_getter
use_resource=use_resource, constraint=constraint)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/variable_scope.py", line 742, in _get_single_variable
name, "".join(traceback.format_list(tb))))
ValueError: Variable resnet_v2_50/postnorm/gamma already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope? Originally defined at:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.py", line 217, in variable use_resource=use_resource) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/arg_scope.py", line 181, in func_with_args return func(*args, **current_args) File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/framework/python/ops/variables.py", line 262, in model_variable use_resource=use_resource)