Model Training
Training a model is essentially a continuous loop of making a random model and then comparing it's effectiveness to the current best.
Note
If a model already exists, it will be used to prime the training routine.
After all testing and training data is prepared, training can be initiated with:
python3 -m train.model -M $model -y $tagged_clips -n $NO_MATCH_clips
This will continue until target_accuracy (from config.yml) is met.
python3 -m train.model -M clap -y _workspace/tagged/clap -n _workspace/tagged/no-match
INFO:Training iteration 1
INFO:Overall accuracy[1] is 50.0
INFO:Accuracy increased; keeping new model
INFO:Training iteration 2
INFO:Overall accuracy[2] is 50.0
INFO:Accuracy worse than #1; discarding new
INFO:Training iteration 3
[...]
INFO:Training iteration 11
INFO:Overall accuracy[11] is 84.84848484848484
INFO:Accuracy worse than #9; discarding new
INFO:Training iteration 12
INFO:Overall accuracy[12] is 86.36363636363637
INFO:Accuracy increased; keeping new model
INFO:TRAINING COMPLETE :: Final Accuracy: 86.36363636363637
The final products of this training process are model.pth and model.wav.
These two files can be copied into another workspace and then used for
content inspection (detection).