Hemos lanzado MMACTION, una caja de herramientas de comprensión de acción completa basada en Pytorch. Incluye la implementación para TSN, así como otros marcos STOA para varias tareas. Las lecciones que aprendimos en este repositorio se incorporan a la mmactación para hacerlo Bettter. Le recomendamos que cambie a él. Este repositorio permanecerá aquí por referencias históricas.
Nota : Siempre use git clone --recursive https://github.com/yjxiong/tsn-pytorch para clonar este proyecto. De lo contrario, no podrá usar la serie Inception CNN Archs.
Esta es una reimplementación de las redes de segmento temporal (TSN) en Pytorch. Todas las configuraciones se mantienen idénticas a la implementación original del Caffe.
Para la generación de extracción de flujo óptico y lista de videos, aún necesita usar la base de código TSN original.
Para entrenar un nuevo modelo, use el script main.py
El comando para reproducir los experimentos TSN originales de la modalidad RGB en UCF101 puede ser
python main.py ucf101 RGB < ucf101_rgb_train_list > < ucf101_rgb_val_list >
--arch BNInception --num_segments 3
--gd 20 --lr 0.001 --lr_steps 30 60 --epochs 80
-b 128 -j 8 --dropout 0.8
--snapshot_pref ucf101_bninception_ Para modelos de flujo:
python main.py ucf101 Flow < ucf101_flow_train_list > < ucf101_flow_val_list >
--arch BNInception --num_segments 3
--gd 20 --lr 0.001 --lr_steps 190 300 --epochs 340
-b 128 -j 8 --dropout 0.7
--snapshot_pref ucf101_bninception_ --flow_pref flow_ Para modelos RGB-Diff:
python main.py ucf101 RGBDiff < ucf101_rgb_train_list > < ucf101_rgb_val_list >
--arch BNInception --num_segments 7
--gd 40 --lr 0.001 --lr_steps 80 160 --epochs 180
-b 128 -j 8 --dropout 0.8
--snapshot_pref ucf101_bninception_ Después del entrenamiento, los puntos de control guardados por Pytorch, por ejemplo, ucf101_bninception_rgb_checkpoint.pth .
Use el siguiente comando para probar su rendimiento en el protocolo de prueba TSN estándar:
python test_models.py ucf101 RGB < ucf101_rgb_val_list > ucf101_bninception_rgb_checkpoint.pth
--arch BNInception --save_scores < score_file_name >
O para modelos de flujo:
python test_models.py ucf101 Flow < ucf101_rgb_val_list > ucf101_bninception_flow_checkpoint.pth
--arch BNInception --save_scores < score_file_name > --flow_pref flow_