decisionforce / TPN

[CVPR 2020] Temporal Pyramid Network for Action Recognition
https://decisionforce.github.io/TPN/
Apache License 2.0
394 stars 55 forks source link

unexpected key in source state_dict: necks.aux_head.convs.conv.weight, necks.aux_head.convs.bn.weight #14

Closed daoyijushi closed 4 years ago

daoyijushi commented 4 years ago

I have trained a model in r50f16s4.py, but when I test the model, there has a error.

unexpected key in source state_dict: fc.weight, fc.bias missing keys in source state_dict: layer3.4.bn2.num_batches_tracked, layer3.5.bn1.num_batches_tracked, layer4.1.bn3.num_batches_tracked, layer3.0.downsample.1.num_batches_tracked, layer1.2.bn3.num_batches_tracked, layer4.1.bn2.num_batches_tracked, layer1.0.bn3.num_batches_tracked, layer2.1.bn3.num_batches_tracked, layer2.2.bn2.num_batches_tracked, layer3.0.bn2.num_batches_tracked, layer3.0.bn3.num_batches_tracked, layer2.3.bn1.num_batches_tracked, layer3.4.bn3.num_batches_tracked, layer3.5.bn2.num_batches_tracked, layer4.1.bn1.num_batches_tracked, layer1.1.bn3.num_batches_tracked, bn1.num_batches_tracked, layer4.2.bn1.num_batches_tracked, layer2.3.bn2.num_batches_tracked, layer2.3.bn3.num_batches_tracked, layer4.0.downsample.1.num_batches_tracked, layer4.0.bn1.num_batches_tracked, layer2.2.bn3.num_batches_tracked, layer1.1.bn1.num_batches_tracked, layer2.0.bn2.num_batches_tracked, layer3.3.bn3.num_batches_tracked, layer3.0.bn1.num_batches_tracked, layer2.0.downsample.1.num_batches_tracked, layer4.2.bn2.num_batches_tracked, layer1.2.bn2.num_batches_tracked, layer3.2.bn2.num_batches_tracked, layer1.0.bn1.num_batches_tracked, layer1.1.bn2.num_batches_tracked, layer2.2.bn1.num_batches_tracked, layer1.0.downsample.1.num_batches_tracked, layer3.1.bn3.num_batches_tracked, layer4.2.bn3.num_batches_tracked, layer3.3.bn2.num_batches_tracked, layer4.0.bn3.num_batches_tracked, layer3.5.bn3.num_batches_tracked, layer3.4.bn1.num_batches_tracked, layer3.3.bn1.num_batches_tracked, layer1.2.bn1.num_batches_tracked, layer3.2.bn3.num_batches_tracked, layer3.1.bn2.num_batches_tracked, layer3.2.bn1.num_batches_tracked, layer2.0.bn3.num_batches_tracked, layer2.1.bn1.num_batches_tracked, layer3.1.bn1.num_batches_tracked, layer4.0.bn2.num_batches_tracked, layer2.1.bn2.num_batches_tracked, layer1.0.bn2.num_batches_tracked, layer2.0.bn1.num_batches_tracked

Traceback (most recent call last): File "tools/test_recognizer.py", line 259, in main() File "tools/test_recognizer.py", line 176, in main load_checkpoint(model, args.checkpoint, strict=True, map_location='cpu') File "/home/majian/anaconda3/envs/torch12/lib/python3.6/site-packages/mmcv/runner/checkpoint.py", line 162, in load_checkpoint load_state_dict(model, state_dict, strict, logger) File "/home/majian/anaconda3/envs/torch12/lib/python3.6/site-packages/mmcv/runner/checkpoint.py", line 86, in load_state_dict raise RuntimeError(err_msg) RuntimeError: unexpected key in source state_dict: necks.aux_head.convs.conv.weight, necks.aux_head.convs.bn.weight, necks.aux_head.convs.bn.bias, necks.aux_head.convs.bn.running_mean, necks.aux_head.convs.bn.running_var, necks.aux_head.convs.bn.num_batches_tracked, necks.aux_head.fc.weight, necks.aux_head.fc.bias

I didn't change any of the parameters and I haven't found the cause of this bug. Please help me slove this problem.

justimyhxu commented 4 years ago

The reported error is that the saved model includes the aux_head weights, but we ignore the aux_head for inference. You can comment https://github.com/decisionforce/TPN/blob/1b3568ecc0509e9210ca8f33dad98f73c8a8a80c/tools/test_recognizer.py#L158 and #L159 to inference model correctly. We will fix this bug.