LossNAN / 3D-Resnet-tensorflow

Inflate 2dresnet to 3dresnet and use imagenet2d pretrain for train kinetics by tensorflow
Apache License 2.0
34 stars 11 forks source link

Inflate_ResNet2D_3D

Inflate 2dresnet to 3dresnet and use imagenet2d pretrain for train kinetics by tensorflow

3dresnet-model

This code also for training your own dataset

Setup

First follow the instructions for install I3D-Tensorflow
Then, clone this repository using

$git clone https://github.com/LossNAN/Inflate_ResNet2D_3D.git

How to use our code?

1.Data_process

1>download Kinetics dataset by yourself, dataset
2>extract RGB frames by your self(25fps or 30fps), such as:

  • ~PATH/Kinetics/train_256/abseiling/-3B32lodo2M_000059_000069 for rgb frames
    3>convert images to list for train and test
    cd ./experiments/kinetics-400/data_list/
    python gen_train_list.py
    python gen_test_list.py
  • you will get npy_files for your own dataset
  • such as: train_data_list.npy

    2.Train your own dataset(Kinetics as example)

    1>if you get path errors, please modify by yourself

    cd ./experiments/kinetics-400
    python multi_gpu_train.py

    2>argues

  • learning_rate: Initial learning rate
  • max_steps: Number of steps to run trainer
  • batch_size: Batch size
  • num_frame_per_clib: Nummber of frames per clib
  • crop_size: Crop_size
  • classics: The num of class 3>models will be stored at ./models, and tensorboard logs will be stored at ./visul_logs
    tensorboard --logdir=~path/experiments/Kinetics-400/visual_logs/

    3.Train-error-curve

1.Paper-curve

paper-curve

2.Our-curve

error-curve

4.Test your own models

1>if you get path errors, please modify by yourself

cd ./experiments/kinetics-400
python multi_gpu_test.py

5.Result on my linux

Architecture Iters Pre_train ACC/top1/top5
I3D_baseline 60k IMAGENET 66.3/86.7