MobileFaceNet_TF icon indicating copy to clipboard operation
MobileFaceNet_TF copied to clipboard

想问一下那个pretrained_model该怎么使用呢 我在train_nets.py里面加上了它的路径 然后执行报错了 不添加pretrained_model时候执行正常但是准确率感人......

Open DongONNS opened this issue 3 years ago • 2 comments

Traceback (most recent call last): File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1322, in _do_call return fn(*args) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1307, in _run_fn options, feed_dict, fetch_list, target_list, run_metadata) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1409, in _call_tf_sessionrun run_metadata) tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [128] rhs shape= [192] [[Node: save/Assign_188 = Assign[T=DT_FLOAT, _class=["loc:@MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma, save/RestoreV2:188)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "train_nets.py", line 215, in saver.restore(sess, ckpt.model_checkpoint_path) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1802, in restore {self.saver_def.filename_tensor_name: save_path}) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 900, in run run_metadata_ptr) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1135, in _run feed_dict_tensor, options, run_metadata) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1316, in _do_run run_metadata) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1335, in _do_call raise type(e)(node_def, op, message) tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [128] rhs shape= [192] [[Node: save/Assign_188 = Assign[T=DT_FLOAT, _class=["loc:@MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma, save/RestoreV2:188)]]

Caused by op 'save/Assign_188', defined at: File "train_nets.py", line 204, in saver = tf.train.Saver(tf.trainable_variables(), max_to_keep=args.saver_maxkeep) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1338, in init self.build() File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1347, in build self._build(self._filename, build_save=True, build_restore=True) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 1384, in _build build_save=build_save, build_restore=build_restore) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 835, in _build_internal restore_sequentially, reshape) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 494, in _AddRestoreOps assign_ops.append(saveable.restore(saveable_tensors, shapes)) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/training/saver.py", line 185, in restore self.op.get_shape().is_fully_defined()) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/ops/state_ops.py", line 283, in assign validate_shape=validate_shape) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/ops/gen_state_ops.py", line 60, in assign use_locking=use_locking, name=name) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper op_def=op_def) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3392, in create_op op_def=op_def) File "/home/daniel/anaconda3/envs/tensorflow/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1718, in init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [128] rhs shape= [192] [[Node: save/Assign_188 = Assign[T=DT_FLOAT, _class=["loc:@MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](MobileFaceNet/Logits/LinearConv1x1/BatchNorm/gamma, save/RestoreV2:188)]]

DongONNS avatar Oct 08 '21 09:10 DongONNS

同问预训练模型怎么用~~

wei8171023 avatar Dec 21 '21 16:12 wei8171023

知道了,用预训练模型的话,输出维度需要是192。训练脚本添加--embedding_size 192或者训练代码里把embedding_size设为192

wei8171023 avatar Jan 21 '22 10:01 wei8171023