This is the framework that we built to train, evaluate and test models in real time.
# Modeling
## Installation
### Virtual environement
```
conda create --name tsl-classification-envir python=3.9
conda activate tsl-classification-envir
```
### Dependencies
```
pip -r requirements.txt
python svo_export.py
cd scripts/
```
The scripts directory contains all needed scripts to prepare dataset, run pose detection on the cam and detect actions and to run the model
## Preparing the data
First, start by adding the words you want to classify to ACTIONS in scripts/settings.py like the example below
```python
ACTIONS = np.array(['word_1', 'word_2', 'word_3'])
```
You can set the number of sequences for each action and the length of each sequence (frames)
```python
NO_SEQUENCES = 10
SEQUENCE_LENGTH = 30
```
run the following script to generate the dataset directories in data/joints (always run the scripts from withtin the scripts directory
```
python data_preparation.py --init
```
if you want to clear actions in a folder use
```
python data_preparation.py --clear-actions
```
if you want to clear data
```
python data_preparation.py --clear-data
```
## Collecting Data
Now that you have your directory ready, you can start collecting your datset using your cam by running the following script (the instructions will be inclded in the cam feed)
```
python cam.py --collect-data
```
you can also play a recorded sequence of a specific action by running the following command
```
python cam.py --play {ACTION} {SEQUENCE_NUMBER}
```
### Sampling from the jumla dataset
```
python jumla.py --sample-dataset
```
## Running the model
you can run the model on the collected dataset by executing this script (the model will be stored in the models directory)
```
python model.py --train --dataset
```
to Monitor the training performance of your model run this command within the scripts/Logs/train directory and then grab the generated url and put it in a browser
```
tensorboard --logdir=.
```
### Real Time testing
You can test the model once trained on real time feed o …