问题描述
在复现meshrcnn时,使用demo.py进行可视化,安装好detectron2这个包后
from detectron2.config import get_cfg
抛出错误:
Traceback (most recent call last):
File “”, line 1, in
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/detectron2/config/init.py”, line 2, in
from .compat import downgrade_config, upgrade_config
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/detectron2/config/compat.py”, line 28, in
from .defaults import _C
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/detectron2/config/defaults.py”, line 560, in
_C.SOLVER.WEIGHT_DECAY_BIAS = None # None means following WEIGHT_DECAY
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/fvcore/common/config.py”, line 148, in setattr
super().setattr(name, val)
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/yacs/config.py”, line 155, in setattr
_assert_with_logging(
File “/storage/miniconda/envs/myenv/lib/python3.9/site-packages/yacs/config.py”, line 521, in _assert_with_logging
assert cond, msg
AssertionError: Invalid type <class ‘NoneType’> for key WEIGHT_DECAY_BIAS; valid types = {<class ‘float’>, <class ‘list’>, <class ‘str’>, <class ‘int’>, <class ‘bool’>, <class ‘tuple’>}
解决方法
定位None所在位置
_C.SOLVER.WEIGHT_DECAY_BIAS = None # None means following WEIGHT_DECAY
修改None为非None值,这里我改为了0,不再报错,未影响后续可视化。
_C.SOLVER.WEIGHT_DECAY_BIAS = 0
报错原因(猜测):
这个参数站在这个任务中没啥用,但是不能为None,初始化的时候需要赋值。
参考链接: