Check failed: it != node2index_.end() && it->first == e.node.get()

I try to use the feature of ResNet101 Conv4 and Conv5,
But I encounter this error:

Traceback (most recent call last):
File “experiments/fgfa_rfcn/fgfa_rfcn_end2end_train_test.py”, line 20, in
train_end2end.main()
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/train_end2end.py”, line 194, in main
config.TRAIN.begin_epoch, config.TRAIN.end_epoch, config.TRAIN.lr, config.TRAIN.lr_step)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/train_end2end.py”, line 187, in train_net
arg_params=arg_params, aux_params=aux_params, begin_epoch=begin_epoch, num_epoch=end_epoch)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/module.py”, line 951, in fit
for_training=True, force_rebind=force_rebind)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/module.py”, line 844, in bind
for_training, inputs_need_grad, force_rebind=False, shared_module=None)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/module.py”, line 401, in bind
state_names=self._state_names)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/DataParallelExecutorGroup.py”, line 191, in init
self.bind_exec(data_shapes, label_shapes, shared_group)
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/DataParallelExecutorGroup.py”, line 277, in bind_exec
shared_group))
File “experiments/fgfa_rfcn/…/…/fgfa_rfcn/core/DataParallelExecutorGroup.py”, line 571, in _bind_ith_exec
grad_req=self.grad_req, shared_exec=shared_exec)
File “/home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/symbol/symbol.py”, line 1694, in bind
ctypes.byref(handle)))
File “/home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/base.py”, line 149, in check_call
raise MXNetError(py_str( LIB.MXGetLastError()))
mxnet.base.MXNetError: [11:40:54] src/core/graph.cc:44: Check failed: it != node2index
.end() && it->first == e.node.get()

Stack trace returned 10 entries:
[bt] (0) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x31f81a) [0x7fc30a47481a]
[bt] (1) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x618fe30) [0x7fc3102e4e30]
[bt] (2) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x619187e) [0x7fc3102e687e]
[bt] (3) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x61920a0) [0x7fc3102e70a0]
[bt] (4) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x24b6444) [0x7fc30c60b444]
[bt] (5) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x24c980c) [0x7fc30c61e80c]
[bt] (6) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x24ca21a) [0x7fc30c61f21a]
[bt] (7) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(+0x24cb9ba) [0x7fc30c6209ba]
[bt] (8) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/site-packages/mxnet/libmxnet.so(MXExecutorBindEX+0xaf5) [0x7fc30c57c845]
[bt] (9) /home/xaserver/anaconda3/envs/liyang2/lib/python2.7/lib-dynload/…/…/libffi.so.6(ffi_call_unix64+0x4c) [0x7fc32fae1ec0]

What is the meaning of that error?
How can I fix it ?
Thank you!

Could you provide a minimal reproducible example of the following error, please?

This is my code:

num_classes = cfg.dataset.NUM_CLASSES
num_reg_classes = (2 if cfg.CLASS_AGNOSTIC else num_classes)
num_anchors = cfg.network.NUM_ANCHORS

data = mx.sym.Variable(name=“data”)
data_bef = mx.sym.Variable(name=“data_bef”)
data_aft = mx.sym.Variable(name=“data_aft”)
im_info = mx.sym.Variable(name=“im_info”)
gt_boxes = mx.sym.Variable(name=“gt_boxes”)
rpn_label = mx.sym.Variable(name=‘label’)
rpn_bbox_target = mx.sym.Variable(name=‘bbox_target’)
rpn_bbox_weight = mx.sym.Variable(name=‘bbox_weight’)

conv4_feat, conv5_feat = self.get_resnet_v1(data) # 1024, 1024

# pass through FlowNet
concat_flow_data_1 = mx.symbol.Concat(data_bef / 255.0, data / 255.0, dim=1)
concat_flow_data_2 = mx.symbol.Concat(data_aft / 255.0, data / 255.0, dim=1)
concat_flow_data = mx.symbol.Concat(concat_flow_data_1, concat_flow_data_2, dim=0)
flow = self.get_flownet(concat_flow_data)

# flow1 = mx.sym.tile(flow, reps=(2, 1, 1, 1))
flow = mx.sym.SliceChannel(flow, axis=0, num_outputs=2)

conv_feat = mx.sym.Concat(conv4_feat, conv5_feat, dim=1, name=‘concat_conv_feat1’)
conv_feat_slice = mx.sym.SliceChannel(conv_feat, axis=1, num_outputs=2)

# warping
flow_grid_1 = mx.sym.GridGenerator(data=flow[0], transform_type=‘warp’, name=‘flow_grid_1’)
flow_grid_2 = mx.sym.GridGenerator(data=flow[1], transform_type=‘warp’, name=‘flow_grid_2’)
warp_conv_feat_1 = mx.sym.BilinearSampler(data=conv4_feat, grid=flow_grid_1, name=‘warping_feat_1’)
warp_conv_feat_2 = mx.sym.BilinearSampler(data=conv4_feat, grid=flow_grid_2, name=‘warping_feat_2’)

feat_fuse1 = attention_block(warp_conv_feat_1, conv4_feat, num_filter=1024, ith=1)
feat_fuse2 = attention_block(warp_conv_feat_2, conv4_feat, num_filter=1024, ith=2)

select_conv_feat1 = (feat_fuse1 + conv4_feat + feat_fuse2) / 3

flow_grid_3 = mx.sym.GridGenerator(data=flow[0], transform_type=‘warp’, name=‘flow_grid_3’)
flow_grid_4 = mx.sym.GridGenerator(data=flow[1], transform_type=‘warp’, name=‘flow_grid_4’)
warp_conv_feat_3 = mx.sym.BilinearSampler(data=conv5_feat, grid=flow_grid_1, name=‘warping_feat_3’)
warp_conv_feat_4 = mx.sym.BilinearSampler(data=conv5_feat, grid=flow_grid_2, name=‘warping_feat_4’)

feat_fuse3 = attention_block(warp_conv_feat_3, conv5_feat, num_filter=1024, ith=3)
feat_fuse4 = attention_block(warp_conv_feat_4, conv5_feat, num_filter=1024, ith=4)

select_conv_feat2 = (feat_fuse3 + conv5_feat + feat_fuse4) / 3

# fuse two layers
concat_conv_feat = mx.sym.Concat(select_conv_feat1, select_conv_feat2, dim=1, name=‘concat_conv_feat’)

I just change network to fuse the feature of two layers.
Are there some troubles?