I changed 'SEQ_NMS': True in cfgs, when I tested my model with two gpus and error happened like
#############################
Traceback (most recent call last):
File "experiments/fgfa_rfcn/fgfa_rfcn_end2end_train_test.py", line 20,
in
test.main()
File "experiments/fgfa_rfcn/../../fgfa_rfcn/test.py", line 53,
in main
enable_detailed_eval=config.dataset.enable_detailed_eval)
File "experiments/fgfa_rfcn/../../fgfa_rfcn/function/test_rcnn.py", line 85,
in test_rcnn
pred_eval_multiprocess(gpu_num, feat_predictors, aggr_predictors, test_datas, imdb, cfg, vis=vis, ignore_cache=ignore_cache, thresh=thresh, logger=logger)
File "experiments/fgfa_rfcn/../../fgfa_rfcn/core/tester.py", line 408, in pred_eval_multiprocess
res.append(job.get())
File "/home/xaserver/anaconda3/envs/py2/lib/python2.7/multiprocessing/pool.py", line 572, 6
in get
raise self._value
TypeError: write_vid_results_multiprocess() takes exactly 2 arguments (3 given)
###########################
and I found the related funsions in tester.py and imagenet_vid.py, the related information are:
for i in range(gpu_num):
job = apply_async(pool, pred_eval_seqnms, (i, imdb))
jobs.append(job)
for job in jobs:
res.append(job.get())
def run_dill_encode(payload):
fun,args=dill.loads(payload)
return fun(*args)
I changed 'SEQ_NMS': True in cfgs, when I tested my model with two gpus and error happened like ############################# Traceback (most recent call last):
File "experiments/fgfa_rfcn/fgfa_rfcn_end2end_train_test.py", line 20, in
test.main()
File "experiments/fgfa_rfcn/../../fgfa_rfcn/test.py", line 53, in main enable_detailed_eval=config.dataset.enable_detailed_eval)
File "experiments/fgfa_rfcn/../../fgfa_rfcn/function/test_rcnn.py", line 85, in test_rcnn pred_eval_multiprocess(gpu_num, feat_predictors, aggr_predictors, test_datas, imdb, cfg, vis=vis, ignore_cache=ignore_cache, thresh=thresh, logger=logger)
File "experiments/fgfa_rfcn/../../fgfa_rfcn/core/tester.py", line 408, in pred_eval_multiprocess res.append(job.get())
File "/home/xaserver/anaconda3/envs/py2/lib/python2.7/multiprocessing/pool.py", line 572, 6 in get raise self._value
TypeError: write_vid_results_multiprocess() takes exactly 2 arguments (3 given) ########################### and I found the related funsions in tester.py and imagenet_vid.py, the related information are: for i in range(gpu_num): job = apply_async(pool, pred_eval_seqnms, (i, imdb)) jobs.append(job) for job in jobs: res.append(job.get()) def run_dill_encode(payload): fun,args=dill.loads(payload) return fun(*args)
def apply_async(pool,fun,args): payload=dill.dumps((fun,args)) return pool.apply_async(run_dill_encode,(payload,)) def write_vid_results_multiprocess(self, detection, gpu_id):
and who knows how to make it right? thx.