Official PyTorch implementation of DeepGRU.
I've tried my best to make the code work out-of-the-box, and provide an extensible framework to ease experimentation.
The list of requirements for this project is extremely short:
- Python v3.5+
- PyTorch v1.2+
- Numpy (will be installed along PyTorch)
- (Optional) CUDA toolkit with an NVIDIA GPU (for faster training, although CPU-only training still works)
All the requirements are included in requirements.txt
.
Running the code involves 3 easy steps:
- Obtain the sources
git clone https://github.com/Maghoumi/DeepGRU.git
cd DeepGRU
- Install the dependencies (make sure the correct
pip
is used)
pip install -r requirements.txt
- Run the code (make sure the correct
python
(v3.5+) is used)
python main.py
The above code will download the SBU Kinect Interaction dataset and run the standard 5-fold cross-validation experiments. The dataset will be downloaded to DeepGRU/data
and the run results will be dumped under DeepGRU/logs
.
The training progress will be showed in the standard output, and you should see an average recognition accuracy of about 95.5% if all folds run to completion.
At the time of writing, GPSR is patented in the United States and its inclusion in any project would impose a restrictive license on any open source code. As such, I've decided to omit GPSR from this repository to allow unrestricted usage of DeepGRU. You can implement GPSR yourself by referring to the pseudocode in the appendix of the original paper.
We used PyTorch v0.4 in our original experiments, and we encountered slightly different results with more recent versions of PyTorch (even with the same random seeds). The results also vary depending on what GPU is used for training. As mentioned above, our implementation of GPSR is omitted from this repository due to licensing issues. Considering all these, the exact results of our paper may not be easily reproducible.
If you find this code or our paper useful, kindly please cite our work:
@article{maghoumi2018deepgru,
title={DeepGRU: Deep Gesture Recognition Utility},
author={Maghoumi, Mehran and LaViola Jr, Joseph J},
journal={arXiv preprint arXiv:1810.12514},
year={2018}
}
This project is licensed under the MIT License - see the LICENSE.md file for details.