Detectron:assert len(cfg_list) % 2 == 0 AssertionError

Detectron在用train_net.py训练模型的时候如果遇到该问题:

Traceback (most recent call last):
File "tools/train_net.py", line 128, in <module>
main()
File "tools/train_net.py", line 100, in main
merge_cfg_from_list(args.opts)
File "/detectron/lib/core/config.py", line 1078, in merge_cfg_from_list
assert len(cfg_list) % 2 == 0
AssertionError

主要原因可能是输入的命令不正确,导致不能正确解析。博主是加上--skip-test参数进行训练后得到该错误,而不加该参数则可以训练,具体命令如下:

python tools/train_net.py --cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml 
    OUTPUT_DIR /tmp/detectron-output --skip-test

但是博主并没有多余的样本集,或者不想进行test,所以如何解决加上--skip-test参数而能正常训练呢?

答案是改变该参数的位置,我是放在了OUTPUT_DIR之前,即可正常训练:

python tools/train_net.py --cfg configs/getting_started/tutorial_1gpu_e2e_faster_rcnn_R-50-FPN.yaml --skip-test
    OUTPUT_DIR /tmp/detectron-output


猜你喜欢

转载自blog.csdn.net/qq_15969343/article/details/80861650
今日推荐