Skip to content
A repositsory of common methods, datasets, and tasks for video research
Python Shell
Branch: master
Clone or download
gsig Merge pull request #17 from piergiaj/rep-flow
Adds the representation flow layer
Latest commit 46307b1 Jun 16, 2019


  • A repositsory of common methods, datasets, and tasks for video research

  • Please note that this repository is in the process of being released to the public. Please bear with us as we standardize the API and streamline the code.

  • Some of the baselines were run with an older version of the codebase (but the git commit hash is available for each experiment) and might need to be updated.

  • We encourage you to submit a Pull Request to help us document and incorporate as many baselines and datasets as possible to this codebase

  • We hope this project will be of value to the community and everyone will consider adding their methods to this codebase

List of implemented methods:

  • I3D
  • 3D ResNet
  • Asynchronous Temporal Fields
  • Actor Observer Network
  • Temporal Segment Networks
  • Temporal Relational Networks
  • Non-local neural networks
  • Two-Stream Networks
  • I3D Mask-RCNN
  • 3D ResNet Video Autoencoder

List of supported datasets:

  • Charades
  • CharadesEgo
  • Kinetics
  • AVA
  • ActivityNet
  • Something Something
  • Jester

List of supported tasks:

  • Action classification
  • Action localization
  • Spatial Action localization
  • Inpainting
  • Video Alignment
  • Triplet Classification

Contributor: Gunnar Atli Sigurdsson

  • If this code helps your research, please consider citing:
author = {Gunnar A. Sigurdsson and Abhinav Gupta},
title = {PyVideoResearch},
code = {},

and remember to cite the papers for the datasets/methods you use.

Installation Instructions


  • Python 2.7 or Python 3.6
  • PyTorch 0.4 or PyTorch 1.0

Python packages:

  • numpy
  • ffmpeg-python
  • PIL
  • cv2
  • torchvision

See external libraries under external/ for requirements if using their corresponding baselines.

Run the following to get both this repository and the remote repositories under external/

git clone
git submodule update --init --recursive

Steps to train your own network:

  1. Download the corresponding dataset
  2. Duplicate and edit one of the experiment files under exp/ with appropriate parameters. For additional parameters, see
  3. Run an experiment by calling python exp/ where is your experiment file. See baseline_exp/ for a variety of baselines.
  4. The checkpoints/logfiles/outputs are stored in your specified cache directory.
  5. Build of the code, cite our papers, and say hi to us at CVPR.

Good luck!

Pretrained networks:

We are in the process of preparing and releasing the pre-trained models. If anything is missing, please let us know. The names correspond to experiments under "baseline_exp". While we standardize the names, please be aware that some of the model may have names listed after "original name" in the experiment file. We also provide the generated log.txt file for each experiment as name.txt

The models are stored here:

  • ResNet50 pre-trained on Charades

    • resnet50_rgb.pth.tar
    • resnet50_rgb_python3.pth.tar
  • ResNet1010 pre-trained on Charades

    • resnet101_rgb.pth.tar
    • resnet101_rgb_python3.pth.tar
  • I3D pre-trained on ImageNet+Kinetics (courtesy of

    • aj_rgb_imagenet.pth
  • I3D pre-trained on Charades (courtesy of

    • aj_rgb_charades.pth




    • async__par1.pth.tar
    • async__par1.txt





    • i3d31b.pth.tar
    • i3d31b.pth.tar

    • i3d8l.pth.tar
    • i3d8l.txt

    • i3d12b2.pth.tar
    • i3d12b2.txt

    • i3d8k.pth.tar
    • i3d8k.txt


    • trn4b.pth.tar
    • trn4b.txt


    • trn2f3b.pth.tar
    • trn2f3b.txt


    • anet2.pth.tar
    • anet2.txt

Infrequently Asked Questions

You can’t perform that action at this time.