PyTorch-based gesture recognition system with multiple model architectures for skeleton data analysis.
cd model/train
export HIP_VISIBLE_DEVICES=1
python train_pytorch_only.py --config ../../config/experiment_medium.yamlAll documentation is located in the readme/ folder:
- QUICK_START.md - Fast reference guide for running experiments
- README_EXPERIMENTS.md - Comprehensive guide to multi-model experiments
- MULTI_MODEL_SETUP.md - Technical details of model architecture system
- CLEANUP_SUMMARY.md - Training directory cleanup summary
- MODEL_CLEANUP_SUMMARY.md - Model directory cleanup summary
- VIDEO_PIPELINE_GUIDE.md - Video-to-gesture inference guide
- BENCHMARKING_GUIDE.md - Complete GPU benchmarking guide (AMD vs NVIDIA)
- BENCHMARK_SUMMARY.md - Quick reference for benchmarking
- HPC_FILE_LIST.md - Files needed for HPC deployment
irds/
├── model/
│ ├── clip_gesture_model_pytorch.py # Main model implementation
│ ├── model_architectures.py # 6 model size variants (150K-51M params)
│ ├── train/ # Training scripts
│ │ ├── train_pytorch_only.py # Single GPU training
│ │ ├── train_pytorch_multi_gpu.py # Multi-GPU training
│ │ ├── run_experiments.sh # Run all experiments
│ │ └── compare_experiments.py # Compare results
│ └── test/ # Testing utilities
│ ├── video_to_gesture.py # Video inference
│ └── test_pytorch_clean.py # Environment tests
├── config/ # Experiment configurations
│ ├── experiment_tiny.yaml # ~150K params
│ ├── experiment_small.yaml # ~1.1M params
│ ├── experiment_medium.yaml # ~2.5M params (recommended)
│ └── experiment_large.yaml # ~14M params
├── data/ # Dataset directory
├── readme/ # All documentation
└── utils.py, tensor_utils.py # Utility functions
| Model | Parameters | Best For |
|---|---|---|
| tiny | 150K | Quick experiments |
| small | 1.1M | Simple patterns |
| medium | 2.5M | Recommended |
| large | 14M | Complex patterns |
| xlarge | 24M | Very large datasets |
| xxlarge | 51M | Extreme capacity |
cd model/train
python train_pytorch_only.py --config ../../config/experiment_medium.yamlcd model/train
./run_experiments.shcd model/train
python compare_experiments.pycd model/train
python train_pytorch_multi_gpu.py --config ../../config/experiment_medium.yaml --gpu 1# Run complete benchmark (training + inference)
bash scripts/run_full_benchmark.sh
# Compare AMD vs NVIDIA
python scripts/compare_gpu_benchmarks.py outputs/benchmark_amd_*.json outputs/benchmark_nvidia_*.json# Copy to HPC
rsync -avz --exclude='__pycache__' --exclude='*.pyc' --exclude='.git' \
/home/nishant/project/irds/ user@hpc:/path/to/irds/
# On HPC
export HIP_VISIBLE_DEVICES=1
cd /path/to/irds/model/train
./run_experiments.shTrained models are saved in model/train/outputs/:
model_<size>.pth- Model weightsscaler_<size>.json- Feature scalerinfo_<size>.json- Training metricscurves_<size>.png- Training plotsconfusion_<size>.png- Confusion matrix
- Python 3.8+
- PyTorch 2.0+ (with ROCm support for AMD GPUs)
- pandas, scikit-learn, pyyaml
- For video inference: opencv-python, mediapipe
See the readme/ folder for detailed documentation on all aspects of the project.
Last Updated: October 27, 2025