open-mmlab / mmaction2

OpenMMLab's Next Generation Video Understanding Toolbox and Benchmark
https://mmaction2.readthedocs.io
Apache License 2.0
4.16k stars 1.22k forks source link

Comparisons for Recognizers #773

Open irvingzhang0512 opened 3 years ago

irvingzhang0512 commented 3 years ago

Description

MMAction2 provide a large number of recognizers. In order to choose the right model for our applications, maybe we need to compare all models in one table. But I don't know how to do this.

I'm open to all suggestions.

Inference time statistics

model_name Tesla V100-PCIE(32f, 16f, 8f) GTX 1080ti(32f, 16f, 8f) Jetson AGX Xavier(32f, 16f, 8f)
TSN_r50 31/17/10 52/26/14 258/134/80
TSM_r50 34/19/13 59/30/16 278/145/86
TSM_MobileNetV2 10/10/10 23/12/7 81/41/23
TIN_r50 72/30/30 141/52/24 561/218/104
TANet 37/21/19 64/33/19 429/165/100
I3D_r50 27/23/21 21/14/11 128/68/37
2Plus1d_r34 61/41/32 77/41/27 539/278/146
CSN_r152 172/169/169 115/92/88 584/303/163
SlowFast_r50 34/28/28 28/18/14 150/81/45
SlowOnly_r50 58/38/28 79/41/23 576/301/160
X3D 95/93/92 84/52/49 415/212/112

Notes:

TODO

innerlee commented 3 years ago

Thanks, this is great!

irvingzhang0512 commented 3 years ago

I went through the codes of C3D. It turns out that we cannot modify C3D config to support other input shapes. I haven't study the codes of TPN, may take a look in April.

Maybe a table like this model type model name sampling strategy v100/1080ti/agx latency(ms) kinetics400 accuracy sthv2 accuracy comments
PyTorch TSM-R50 1x1x8 13/16/86 70.24 / 89.56 57.86 / 61.12 /
dreamerlin commented 3 years ago

Notes: We will support Support auto_fp16 using torch.cuda.amp in the future https://github.com/open-mmlab/mmcv/pull/791

innerlee commented 3 years ago

Not really. Most info in the above table is already present in the modelzoo, or can be added to the tables (i.e. column v100/1080ti/agx latency) in modelzoo.

I think the most valuable part is the speed/accuracy benchmark for different precisions.

irvingzhang0512 commented 3 years ago

Something like that in GluonCV? bokeh_plot