Skip to content

Commit

Permalink
Merge pull request #2954 from lissyx/py-tflite
Browse files Browse the repository at this point in the history
Python TFLite tests
  • Loading branch information
lissyx authored Apr 29, 2020
2 parents 4930186 + ecdcf9e commit d120c40
Show file tree
Hide file tree
Showing 25 changed files with 317 additions and 7 deletions.
28 changes: 24 additions & 4 deletions taskcluster/tc-py-utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -72,15 +72,15 @@ maybe_setup_virtualenv_cross_arm()
fi;

if [ "${OS}" != "Linux" ]; then
echo "Only for Linux";
exit 1;
echo "Only for Linux/ARM arch";
return 0;
fi;

ARCH=$(uname -m)

if [ "${ARCH}" = "x86_64" ]; then
echo "Not for Linux/AMD64";
exit 0;
echo "Only for Linux/ARM arch";
return 0;
fi;

mkdir -p ${PYENV_ROOT}/versions/${version}/envs/
Expand Down Expand Up @@ -324,6 +324,26 @@ get_python_pkg_url()
echo "${root}/${deepspeech_pkg}"
}

get_tflite_python_pkg_name()
{
# Default to deepspeech package
local _pkgname="deepspeech_tflite"

ARCH=$(uname -m)
case "${OS}:${ARCH}" in
Linux:armv7l|Linux:aarch64)
# On linux/arm or linux/aarch64 we don't produce deepspeech_tflite
_pkgname="deepspeech"
;;

*)
_pkgname="deepspeech_tflite"
;;
esac

echo "${_pkgname}"
}

extract_python_versions()
{
# call extract_python_versions ${pyver_full} pyver pyver_pkg py_unicode_type pyconf pyalias
Expand Down
8 changes: 6 additions & 2 deletions taskcluster/tc-python_tflite-tests-prod.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,19 @@ model_source=${DEEPSPEECH_PROD_MODEL//.pb/.tflite}
model_name=$(basename "${model_source}")
model_name_mmap=$(basename "${model_source}")
model_source_mmap=${DEEPSPEECH_PROD_MODEL_MMAP//.pbmm/.tflite}
export DEEPSPEECH_ARTIFACTS_ROOT=${DEEPSPEECH_ARTIFACTS_TFLITE_ROOT}

if [ ! -z "${DEEPSPEECH_ARTIFACTS_TFLITE_ROOT}" ]; then
export DEEPSPEECH_ARTIFACTS_ROOT=${DEEPSPEECH_ARTIFACTS_TFLITE_ROOT}
fi;

download_data

maybe_setup_virtualenv_cross_arm "${pyalias}" "deepspeech"

virtualenv_activate "${pyalias}" "deepspeech"

deepspeech_pkg_url=$(get_python_pkg_url "${pyver_pkg}" "${py_unicode_type}" "deepspeech_tflite")
pkg_name=$(get_tflite_python_pkg_name)
deepspeech_pkg_url=$(get_python_pkg_url "${pyver_pkg}" "${py_unicode_type}" "${pkg_name}")
LD_LIBRARY_PATH=${PY37_LDPATH}:$LD_LIBRARY_PATH pip install --verbose --only-binary :all: --upgrade ${deepspeech_pkg_url} | cat

which deepspeech
Expand Down
8 changes: 7 additions & 1 deletion taskcluster/tc-python_tflite-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,20 @@ set_ldc_sample_filename "${bitrate}"
model_source=${DEEPSPEECH_TEST_MODEL//.pb/.tflite}
model_name=$(basename "${model_source}")
model_name_mmap=$(basename "${model_source}")
model_source_mmap=${DEEPSPEECH_PROD_MODEL_MMAP//.pbmm/.tflite}

if [ ! -z "${DEEPSPEECH_ARTIFACTS_TFLITE_ROOT}" ]; then
export DEEPSPEECH_ARTIFACTS_ROOT=${DEEPSPEECH_ARTIFACTS_TFLITE_ROOT}
fi;

download_data

maybe_setup_virtualenv_cross_arm "${pyalias}" "deepspeech"

virtualenv_activate "${pyalias}" "deepspeech"

deepspeech_pkg_url=$(get_python_pkg_url ${pyver_pkg} ${py_unicode_type})
pkg_name=$(get_tflite_python_pkg_name)
deepspeech_pkg_url=$(get_python_pkg_url "${pyver_pkg}" "${py_unicode_type}" "${pkg_name}")
LD_LIBRARY_PATH=${PY37_LDPATH}:$LD_LIBRARY_PATH pip install --verbose --only-binary :all: --upgrade ${deepspeech_pkg_url} | cat

which deepspeech
Expand Down
12 changes: 12 additions & 0 deletions taskcluster/test-python_35_tflite_16k-darwin-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.5.8:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.5 tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.5 TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_35_tflite_16k-darwin-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.5.8:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.5 prod tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.5 on prod model, TFLite, optimized version (16kHz)"
11 changes: 11 additions & 0 deletions taskcluster/test-python_35_tflite_16k-linux-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
build:
template_file: test-linux-opt-base.tyml
dependencies:
- "linux-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.5.8:m 16k"
metadata:
name: "DeepSpeech Linux AMD64 TFLite Python v3.5 tests (16kHz)"
description: "Testing DeepSpeech for Linux/AMD64 on Python v3.5 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_35_tflite_16k-win-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.5.4:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.5 tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.5 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_35_tflite_16k-win-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.5.4:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.5 prod tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.5 on prod model, TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_36_tflite_16k-darwin-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.6.10:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.6 tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.6 TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_36_tflite_16k-darwin-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.6.10:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.6 prod tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.6 on prod model, TFLite, optimized version (16kHz)"
11 changes: 11 additions & 0 deletions taskcluster/test-python_36_tflite_16k-linux-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
build:
template_file: test-linux-opt-base.tyml
dependencies:
- "linux-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.6.10:m 16k"
metadata:
name: "DeepSpeech Linux AMD64 TFLite Python v3.6 tests (16kHz)"
description: "Testing DeepSpeech for Linux/AMD64 on Python v3.6 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_36_tflite_16k-win-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.6.8:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.6 tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.6 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_36_tflite_16k-win-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.6.8:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.6 prod tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.6 on prod model, TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_37_tflite_16k-darwin-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.7 tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.7 TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_37_tflite_16k-darwin-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.7 prod tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.7 on prod model, TFLite, optimized version (16kHz)"
11 changes: 11 additions & 0 deletions taskcluster/test-python_37_tflite_16k-linux-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
build:
template_file: test-linux-opt-base.tyml
dependencies:
- "linux-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech Linux AMD64 TFLite Python v3.7 tests (16kHz)"
description: "Testing DeepSpeech for Linux/AMD64 on Python v3.7 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_37_tflite_16k-win-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.7 tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.7 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_37_tflite_16k-win-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.7 prod tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.7 on prod model, TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_37m-armbian-arm64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-armbian-opt-base.tyml
dependencies:
- "linux-arm64-cpu-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
apt-get -qq -y install ${python.packages_buster.apt}
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech ARMbian ARM64 Cortex-A53 CPU Python v3.7 prod tests"
description: "Testing DeepSpeech for ARMbian ARM64 Cortex-A53 on prod model Python v3.7, CPU only, optimized version"
14 changes: 14 additions & 0 deletions taskcluster/test-python_37m-raspbian-rpi3-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-raspbian-opt-base.tyml
dependencies:
- "linux-rpi3-cpu-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
apt-get -qq -y install ${python.packages_buster.apt}
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.7.6:m 16k"
metadata:
name: "DeepSpeech Raspbian RPi3/ARMv7 CPU Python v3.7 prod tests"
description: "Testing DeepSpeech for Raspbian RPi3/ARMv7 on prod model Python v3.7, CPU only, optimized version"
12 changes: 12 additions & 0 deletions taskcluster/test-python_38_tflite_16k-darwin-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.8.1: 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.8 tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.8 TFLite, optimized version (16kHz)"
12 changes: 12 additions & 0 deletions taskcluster/test-python_38_tflite_16k-darwin-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
build:
template_file: test-darwin-opt-base.tyml
dependencies:
- "darwin-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
- "homebrew_tests-darwin-amd64"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "$TASKCLUSTER_TASK_DIR/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.8.1: 16k"
metadata:
name: "DeepSpeech OSX AMD64 TFLite Python v3.8 prod tests (16kHz)"
description: "Testing DeepSpeech for OSX/AMD64 on Python v3.8 on prod model, TFLite, optimized version (16kHz)"
11 changes: 11 additions & 0 deletions taskcluster/test-python_38_tflite_16k-linux-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
build:
template_file: test-linux-opt-base.tyml
dependencies:
- "linux-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
args:
tests_cmdline: "${system.homedir.linux}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.8.1: 16k"
metadata:
name: "DeepSpeech Linux AMD64 TFLite Python v3.8 tests (16kHz)"
description: "Testing DeepSpeech for Linux/AMD64 on Python v3.8 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_38_tflite_16k-win-amd64-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests.sh 3.8.1: 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.8 tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.8 TFLite, optimized version (16kHz)"
14 changes: 14 additions & 0 deletions taskcluster/test-python_38_tflite_16k-win-amd64-prod-opt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
build:
template_file: test-win-opt-base.tyml
dependencies:
- "win-amd64-tflite-opt"
- "test-training_16k-linux-amd64-py36m-opt"
test_model_task: "test-training_16k-linux-amd64-py36m-opt"
system_setup:
>
${system.sox_win}
args:
tests_cmdline: "${system.homedir.win}/DeepSpeech/ds/taskcluster/tc-python_tflite-tests-prod.sh 3.8.1: 16k"
metadata:
name: "DeepSpeech Windows AMD64 TFLite Python v3.8 prod tests (16kHz)"
description: "Testing DeepSpeech for Windows/AMD64 on Python v3.8 on prod model, TFLite, optimized version (16kHz)"

0 comments on commit d120c40

Please sign in to comment.