By Dongqi Cai, Anbang Yao, Yurong Chen.
This is the pytorch implementation of our paper "Dynamic Normalization and Relay for Video Action Recognition", published in NeurIPS 2021.
This implementation is based upon mmaction which is simpler than mmaction2. And the core functions (cross-temporal and cross-layer dynamic normalization and relay) can also be esily ported to mmaction2.
- Install mmaction following installing instructions.
- Prepare dataset Kinetics-400.
- Put model files "resnet_dnr.py" into folder "mmaction/mmaction/models/tenons/backbones/" and register the models in "__init__.py".
- Folder "configs" contains config files for training and evaluating ResNet50-DNR on Kinetics-400. Put it into "configs".
- Run Training and Testing scripts under mmaction root folder as below.
./tools/dist_train_recognizer.sh configs/DNR_resnet50_kinetics400_rgb_seg1_f8s8.py 8 --validate
./tools/dist_test_recognizer.sh configs/DNR_resnet50_kinetics400_rgb_seg1_f8s8.py work_dirs/DNR_r50_kinetics400_rgb_seg1_8x8_scratch/epoch_196.pth 8 --out DNR_r50_kinetics_results.pkl
If you find our code useful for your research, please consider citing:
@inproceedings{cai2021dynamic,
title={Dynamic Normalization and Relay for Video Action Recognition},
author={Cai, Dongqi and Yao, Anbang and Chen, Yurong},
journal={Advances in Neural Information Processing Systems},
volume={34},
year={2021}
}
DNR is released under MIT License.