Add CTC decoder build on TaskCluster
This commit is contained in:
parent
ea233439ce
commit
1598be8124
|
@ -41,17 +41,19 @@ workspace_status.cc:
|
||||||
../bazel_workspace_status_cmd.sh > bazel-out/stable-status.txt && \
|
../bazel_workspace_status_cmd.sh > bazel-out/stable-status.txt && \
|
||||||
../gen_workspace_status.sh > $@
|
../gen_workspace_status.sh > $@
|
||||||
|
|
||||||
|
# Enforce PATH here because swig calls from build_ext looses track of some
|
||||||
|
# variables over several runs
|
||||||
bindings: clean-keep-third-party workspace_status.cc
|
bindings: clean-keep-third-party workspace_status.cc
|
||||||
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
||||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
PATH=$(TOOLCHAIN):$$PATH AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
find temp_build -type f -name "*.o" -delete
|
find temp_build -type f -name "*.o" -delete
|
||||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
rm -rf temp_build
|
rm -rf temp_build
|
||||||
|
|
||||||
bindings-debug: clean-keep-third-party workspace_status.cc
|
bindings-debug: clean-keep-third-party workspace_status.cc
|
||||||
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
||||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --debug --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
PATH=$(TOOLCHAIN):$$PATH AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py build_ext --debug --num_processes $(NUM_PROCESSES) $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
$(GENERATE_DEBUG_SYMS)
|
$(GENERATE_DEBUG_SYMS)
|
||||||
find temp_build -type f -name "*.o" -delete
|
find temp_build -type f -name "*.o" -delete
|
||||||
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) LIBEXE=$(LIBEXE) CFLAGS="$(CFLAGS) $(CXXFLAGS) -DDEBUG" LDFLAGS="$(LDFLAGS_NEEDED)" $(PYTHON_PATH) $(NUMPY_INCLUDE) python ./setup.py bdist_wheel $(PYTHON_PLATFORM_NAME) $(SETUP_FLAGS)
|
||||||
rm -rf temp_build
|
rm -rf temp_build
|
||||||
|
|
|
@ -54,6 +54,7 @@ def build_archive(srcs=[], out_name='', build_dir='temp_build/temp_build', debug
|
||||||
if sys.platform.startswith('win'):
|
if sys.platform.startswith('win'):
|
||||||
compiler = '"{}"'.format(compiler)
|
compiler = '"{}"'.format(compiler)
|
||||||
ar = os.environ.get('AR', 'ar')
|
ar = os.environ.get('AR', 'ar')
|
||||||
|
libexe = os.environ.get('LIBEXE', 'lib.exe')
|
||||||
libtool = os.environ.get('LIBTOOL', 'libtool')
|
libtool = os.environ.get('LIBTOOL', 'libtool')
|
||||||
cflags = os.environ.get('CFLAGS', '') + os.environ.get('CXXFLAGS', '')
|
cflags = os.environ.get('CFLAGS', '') + os.environ.get('CXXFLAGS', '')
|
||||||
args = ARGS + (DBG_ARGS if debug else OPT_ARGS)
|
args = ARGS + (DBG_ARGS if debug else OPT_ARGS)
|
||||||
|
@ -100,7 +101,8 @@ def build_archive(srcs=[], out_name='', build_dir='temp_build/temp_build', debug
|
||||||
print(cmd)
|
print(cmd)
|
||||||
subprocess.check_call(shlex.split(cmd))
|
subprocess.check_call(shlex.split(cmd))
|
||||||
elif sys.platform.startswith('win'):
|
elif sys.platform.startswith('win'):
|
||||||
cmd = '"lib.exe" /OUT:"{outfile}" {infiles} /MACHINE:X64 /NOLOGO'.format(
|
cmd = '"{libexe}" /OUT:"{outfile}" {infiles} /MACHINE:X64 /NOLOGO'.format(
|
||||||
|
libexe=libexe,
|
||||||
outfile=out_name,
|
outfile=out_name,
|
||||||
infiles=' '.join(obj_files))
|
infiles=' '.join(obj_files))
|
||||||
cmd = cmd.replace('\\', '/')
|
cmd = cmd.replace('\\', '/')
|
||||||
|
|
|
@ -10,6 +10,7 @@ TOOL_CC := gcc
|
||||||
TOOL_CXX := c++
|
TOOL_CXX := c++
|
||||||
TOOL_LD := ld
|
TOOL_LD := ld
|
||||||
TOOL_LDD := ldd
|
TOOL_LDD := ldd
|
||||||
|
TOOL_LIBEXE :=
|
||||||
|
|
||||||
DEEPSPEECH_BIN := deepspeech
|
DEEPSPEECH_BIN := deepspeech
|
||||||
CFLAGS_DEEPSPEECH := -std=c++11 -o $(DEEPSPEECH_BIN)
|
CFLAGS_DEEPSPEECH := -std=c++11 -o $(DEEPSPEECH_BIN)
|
||||||
|
@ -37,9 +38,10 @@ endif
|
||||||
ifeq ($(TARGET),host-win)
|
ifeq ($(TARGET),host-win)
|
||||||
DEEPSPEECH_BIN := deepspeech.exe
|
DEEPSPEECH_BIN := deepspeech.exe
|
||||||
TOOLCHAIN := '$(VCINSTALLDIR)\bin\amd64\'
|
TOOLCHAIN := '$(VCINSTALLDIR)\bin\amd64\'
|
||||||
TOOL_CC := cl.exe
|
TOOL_CC := cl.exe
|
||||||
TOOL_CXX := cl.exe
|
TOOL_CXX := cl.exe
|
||||||
TOOL_LD := link.exe
|
TOOL_LD := link.exe
|
||||||
|
TOOL_LIBEXE := lib.exe
|
||||||
LINK_DEEPSPEECH := $(TFDIR)\bazel-bin\native_client\libdeepspeech.so.if.lib
|
LINK_DEEPSPEECH := $(TFDIR)\bazel-bin\native_client\libdeepspeech.so.if.lib
|
||||||
LINK_PATH_DEEPSPEECH :=
|
LINK_PATH_DEEPSPEECH :=
|
||||||
CFLAGS_DEEPSPEECH := -nologo -Fe$(DEEPSPEECH_BIN)
|
CFLAGS_DEEPSPEECH := -nologo -Fe$(DEEPSPEECH_BIN)
|
||||||
|
@ -113,6 +115,7 @@ CC := $(TOOLCHAIN)$(TOOL_CC)
|
||||||
CXX := $(TOOLCHAIN)$(TOOL_CXX)
|
CXX := $(TOOLCHAIN)$(TOOL_CXX)
|
||||||
LD := $(TOOLCHAIN)$(TOOL_LD)
|
LD := $(TOOLCHAIN)$(TOOL_LD)
|
||||||
LDD := $(TOOLCHAIN)$(TOOL_LDD) $(TOOLCHAIN_LDD_OPTS)
|
LDD := $(TOOLCHAIN)$(TOOL_LDD) $(TOOLCHAIN_LDD_OPTS)
|
||||||
|
LIBEXE := $(TOOLCHAIN)$(TOOL_LIBEXE)
|
||||||
|
|
||||||
RPATH_PYTHON := '-Wl,-rpath,\$$ORIGIN/lib/' $(LDFLAGS_RPATH)
|
RPATH_PYTHON := '-Wl,-rpath,\$$ORIGIN/lib/' $(LDFLAGS_RPATH)
|
||||||
RPATH_NODEJS := '-Wl,-rpath,$$\$$ORIGIN/../'
|
RPATH_NODEJS := '-Wl,-rpath,$$\$$ORIGIN/../'
|
||||||
|
|
|
@ -6,6 +6,8 @@ bindings-clean:
|
||||||
rm -rf dist temp_build deepspeech.egg-info MANIFEST.in temp_lib
|
rm -rf dist temp_build deepspeech.egg-info MANIFEST.in temp_lib
|
||||||
rm -f impl_wrap.cpp impl.py
|
rm -f impl_wrap.cpp impl.py
|
||||||
|
|
||||||
|
# Enforce PATH here because swig calls from build_ext looses track of some
|
||||||
|
# variables over several runs
|
||||||
bindings-build:
|
bindings-build:
|
||||||
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
pip install --quiet $(PYTHON_PACKAGES) wheel==0.33.6 setuptools==39.1.0
|
||||||
PATH=$(TOOLCHAIN):$$PATH AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(PYTHON_SYSCONFIGDATA) $(NUMPY_INCLUDE) python ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
PATH=$(TOOLCHAIN):$$PATH AS=$(AS) CC=$(CC) CXX=$(CXX) LD=$(LD) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS_NEEDED) $(RPATH_PYTHON)" MODEL_LDFLAGS="$(LDFLAGS_DIRS)" MODEL_LIBS="$(LIBS)" $(PYTHON_PATH) $(PYTHON_SYSCONFIGDATA) $(NUMPY_INCLUDE) python ./setup.py build_ext $(PYTHON_PLATFORM_NAME)
|
||||||
|
|
|
@ -6,6 +6,10 @@ source $(dirname "$0")/tc-tests-utils.sh
|
||||||
|
|
||||||
source ${DS_ROOT_TASK}/DeepSpeech/tf/tc-vars.sh
|
source ${DS_ROOT_TASK}/DeepSpeech/tf/tc-vars.sh
|
||||||
|
|
||||||
export SYSTEM_TARGET=host
|
if [ "${OS}" = "${TC_MSYS_VERSION}" ]; then
|
||||||
|
export SYSTEM_TARGET=host-win
|
||||||
|
else
|
||||||
|
export SYSTEM_TARGET=host
|
||||||
|
fi;
|
||||||
|
|
||||||
do_deepspeech_decoder_build
|
do_deepspeech_decoder_build
|
||||||
|
|
|
@ -19,6 +19,7 @@ build:
|
||||||
- "android-java-opt"
|
- "android-java-opt"
|
||||||
- "win-amd64-cpu-opt"
|
- "win-amd64-cpu-opt"
|
||||||
- "win-amd64-gpu-opt"
|
- "win-amd64-gpu-opt"
|
||||||
|
- "win-amd64-ctc-opt"
|
||||||
allowed:
|
allowed:
|
||||||
- "tag"
|
- "tag"
|
||||||
ref_match: "refs/tags/"
|
ref_match: "refs/tags/"
|
||||||
|
@ -38,6 +39,7 @@ build:
|
||||||
- "win-amd64-cpu-opt"
|
- "win-amd64-cpu-opt"
|
||||||
- "win-amd64-tflite-opt"
|
- "win-amd64-tflite-opt"
|
||||||
- "win-amd64-gpu-opt"
|
- "win-amd64-gpu-opt"
|
||||||
|
- "win-amd64-ctc-opt"
|
||||||
javascript:
|
javascript:
|
||||||
# GPU package
|
# GPU package
|
||||||
- "node-package-gpu"
|
- "node-package-gpu"
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
build:
|
||||||
|
template_file: win-opt-base.tyml
|
||||||
|
dependencies:
|
||||||
|
- "swig-win-amd64"
|
||||||
|
- "node-gyp-cache"
|
||||||
|
- "pyenv-win-amd64"
|
||||||
|
routes:
|
||||||
|
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.win-ctc"
|
||||||
|
- "index.project.deepspeech.deepspeech.native_client.${event.head.branchortag}.${event.head.sha}.win-ctc"
|
||||||
|
- "index.project.deepspeech.deepspeech.native_client.win-ctc.${event.head.sha}"
|
||||||
|
tensorflow: "https://community-tc.services.mozilla.com/api/index/v1/task/project.deepspeech.tensorflow.pip.r1.15.ceb46aae5836a0f648a2c3da5942af2b7d1b98bf.win/artifacts/public/home.tar.xz"
|
||||||
|
scripts:
|
||||||
|
build: 'taskcluster/decoder-build.sh'
|
||||||
|
package: 'taskcluster/decoder-package.sh'
|
||||||
|
metadata:
|
||||||
|
name: "DeepSpeech CTC Decoder Windows AMD64 CPU"
|
||||||
|
description: "Building DeepSpeech CTC Decoder for Windows/AMD64, CPU only, optimized version"
|
Loading…
Reference in New Issue