yangxue0827 / R2CNN_FPN_Tensorflow

R2CNN: Rotational Region CNN Based on FPN (Tensorflow)
419 stars 139 forks source link

InvalidArgumentError when changing the number of classes (CLASS_NUM) #79

Open dating-ml opened 4 years ago

dating-ml commented 4 years ago

When I changed CLASS_NUM parameter from 1 to 3 in cfgs.py on my custom dataset and run training train1.py i get next error. Could you please say what could it be? @yangxue0827

Caused by op 'save/Assign_29', defined at: File "train1.py", line 263, in train() File "train1.py", line 195, in train restorer, restore_ckpt = restore_model.get_restorer() File "../tools/restore_model.py", line 33, in get_restorer restorer = tf.train.Saver() File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1102, in init self.build() File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1114, in build self._build(self._filename, build_save=True, build_restore=True) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1151, in _build build_save=build_save, build_restore=build_restore) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 795, in _build_internal restore_sequentially, reshape) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 428, in _AddRestoreOps assign_ops.append(saveable.restore(saveable_tensors, shapes)) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 119, in restore self.op.get_shape().is_fully_defined()) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/state_ops.py", line 221, in assign validate_shape=validate_shape) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/gen_state_ops.py", line 61, in assign use_locking=use_locking, name=name) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 488, in new_func return func(*args, **kwargs) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3274, in create_op op_def=op_def) File "/home/user/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1770, in init self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Restoring from checkpoint failed. This is most likely due to a mismatch between the current graph and the graph from the checkpoint. Please ensure that you have not altered the graph expected based on the checkpoint. Original error:

Assign requires shapes of both tensors to match. lhs shape= [4] rhs shape= [2] [[node save/Assign_29 (defined at ../tools/restore_model.py:33) = Assign[T=DT_FLOAT, _class=["loc:@fast_rcnn_net/classifier/biases"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](fast_rcnn_net/classifier/biases/Momentum, save/RestoreV2/_63)]] [[{{node save/RestoreV2/_136}} = _SendT=DT_FLOAT, client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_137_save/RestoreV2", _device="/job:localhost/replica:0/task:0/device:CPU:0"]]