faster-rcnn错误信息 : tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [21] rhs shape= [2]

时间:2024-08-14 23:37:56

faster-rcnn错误信息 : tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [21] rhs shape= [2]

 Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\training\saver.py", line 1276, in restore
{self.saver_def.filename_tensor_name: save_path})
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 929, in run
run_metadata_ptr)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1152, in _run
feed_dict_tensor, options, run_metadata)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1328, in _do_run
run_metadata)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\client\session.py", line 1348, 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= [21] rhs shape= [2]
[[node save/Assign_517 (defined at G:/jianfeng/project/rubblish_det/faster_rcnn/tf-faster-rcnn-master/tools/demo.py:149) ]]

我的代码来自 https://github.com/endernewton/tf-faster-rcnn

这是由于类别数目不一致,导致的 ;看错误信息倒数第二行,lhs为21类 rhs为2类

解决方法:在demo.py文件中找到下面两行代码,将 "TEST"后的21改为 2   因为我的数据类别是  background+单类别=2

 net.create_architecture("TEST", 21,
tag='default', anchor_scales=[8, 16, 32])