xref: /aosp_15_r20/external/libopus/dnn/torch/lpcnet/scripts/loop_run.sh (revision a58d3d2adb790c104798cd88c8a3aff4fa8b82cc)
1#!/bin/bash
2
3
4case $# in
5    9) SETUP=$1; OUTDIR=$2; NAME=$3; DEVICE=$4; ROUNDS=$5; LPCNEXT=$6; LPCNET=$7; TESTSUITE=$8; TESTITEMS=$9;;
6    *) echo "loop_run.sh setup outdir name device rounds lpcnext_repo lpcnet_repo testsuite_repo testitems"; exit;;
7esac
8
9
10PYTHON="/home/ubuntu/opt/miniconda3/envs/torch/bin/python"
11TESTFEATURES=${LPCNEXT}/testitems/features/all_0_orig_features.f32
12WARPQREFERENCE=${LPCNEXT}/testitems/wav/all_0_orig.wav
13METRICS="warpq,pesq,pitch_error,voicing_error"
14LPCNETDEMO=${LPCNET}/lpcnet_demo
15
16for ((round = 1; round <= $ROUNDS; round++))
17do
18    echo
19    echo round $round
20
21    UUID=$(uuidgen)
22    TRAINOUT=${OUTDIR}/${UUID}/training
23    TESTOUT=${OUTDIR}/${UUID}/testing
24    CHECKPOINT=${TRAINOUT}/checkpoints/checkpoint_last.pth
25    FINALCHECKPOINT=${TRAINOUT}/checkpoints/checkpoint_finalize_last.pth
26
27    # run training
28    echo "starting training..."
29    $PYTHON $LPCNEXT/train_lpcnet.py $SETUP $TRAINOUT --device $DEVICE --test-features $TESTFEATURES --warpq-reference $WARPQREFERENCE
30
31    # run finalization
32    echo "starting finalization..."
33    $PYTHON $LPCNEXT/train_lpcnet.py $SETUP $TRAINOUT \
34            --device $DEVICE --test-features $TESTFEATURES \
35            --warpq-reference $WARPQREFERENCE \
36            --finalize --initial-checkpoint $CHECKPOINT
37
38    # create test configs
39    $PYTHON $LPCNEXT/make_test_config.py ${OUTDIR}/${UUID}/testconfig.yml "$NAME $UUID" $CHECKPOINT --lpcnet-demo $LPCNETDEMO
40    $PYTHON $LPCNEXT/make_test_config.py ${OUTDIR}/${UUID}/testconfig_finalize.yml "$NAME $UUID finalized" $FINALCHECKPOINT --lpcnet-demo $LPCNETDEMO
41
42    # run tests
43    echo "starting test 1 (no finalization)..."
44    $PYTHON $TESTSUITE/run_test.py ${OUTDIR}/${UUID}/testconfig.yml  \
45            $TESTITEMS ${TESTOUT}/prefinal --num-workers 8 \
46            --num-testitems 400 --metrics $METRICS
47
48    echo "starting test 2 (after finalization)..."
49    $PYTHON $TESTSUITE/run_test.py ${OUTDIR}/${UUID}/testconfig_finalize.yml  \
50            $TESTITEMS ${TESTOUT}/final --num-workers 8 \
51            --num-testitems 400 --metrics $METRICS
52done
53